Package org.milyn.rules

Source Code of org.milyn.rules.RulesProviderFactoryTest

/*
* Milyn - Copyright (C) 2006 - 2010
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License (version 2.1) as published
* by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE.
*
* See the GNU Lesser General Public License for more details:
* http://www.gnu.org/licenses/lgpl.txt
*/

package org.milyn.rules;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

import java.io.IOException;
import java.util.Map;

import org.junit.Ignore;
import org.junit.Test;
import org.milyn.Smooks;
import org.milyn.SmooksException;
import org.milyn.rules.regex.RegexRuleEvalResult;
import org.milyn.container.ExecutionContext;
import org.milyn.payload.StringResult;
import org.milyn.payload.StringSource;
import org.xml.sax.SAXException;

/**
* Unit test for RuleProviderFactory.
* <p/>
*
* @author <a href="mailto:danielbevenius@gmail.com">Daniel Bevenius</a>
*/
public class RulesProviderFactoryTest
{
    @Test
    public void extendedConfig() throws IOException, SAXException
    {
        final Smooks smooks = new Smooks("/smooks-configs/extended/1.0/smooks-rules-config.xml");
        final StringSource source = new StringSource("<order></order>");
        final StringResult result = new StringResult();

        smooks.filterSource(source, result);

        final Map<String, RuleProvider> ruleProviders = RuleProviderAccessor.getRuleProviders(smooks.getApplicationContext());

        assertNotNull("Not rules providers were created!", ruleProviders);
        assertEquals(1, ruleProviders.size());
        assertNotNull(RuleProviderAccessor.get(smooks.getApplicationContext(), "custom"));
    }

    @Test
    @Ignore
    public void createProvider()
    {
        final RuleProvider provider = new RulesProviderFactory().createProvider(MockProvider.class);
        assertNotNull(provider);
        assertTrue(provider instanceof MockProvider);
        assertEquals("MockProvider", provider.getName());
    }

    public static class MockProvider implements RuleProvider
    {
        public String getName()
        {
            return getClass().getSimpleName();
        }

        public String getSrc()
        {
            return null;
        }

        public void setSrc(String src)
        {
        }

        public RuleEvalResult evaluate(String ruleName, CharSequence selectedData, ExecutionContext context) throws SmooksException
        {
            return new RegexRuleEvalResult(true, ruleName, "MockProvider", null, selectedData.toString());
        }

        public void setName(String name)
        {
        }
    }

}
TOP

Related Classes of org.milyn.rules.RulesProviderFactoryTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.