package com.github.mefi.jkuuza.analyzer; import com.github.mefi.jkuuza.parser.ContentHelper; import java.util.ArrayList; import java.util.List; import org.jsoup.nodes.Document; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import static org.junit.Assert.*; /** * * @author mefi */ public class ConditionsResolverTest { public ConditionsResolverTest() { } @BeforeClass public static void setUpClass() throws Exception { } @AfterClass public static void tearDownClass() throws Exception { } @Before public void setUp() { } /** * Test of isPassing method, of class ConditionsResolver. */ @Test public void testisPassing() throws Exception { System.out.println("isPassing"); // common TestClass1 testClass1 = new TestClass1(); //empty doc Document doc = new Document("http://example.com"); List<Condition> conditions1 = new ArrayList<Condition>(); List<String> params1 = new ArrayList<String>(); params1.add("bar"); Condition condition1 = new Condition(new TestClass1(), "returnTrue", "true", params1); conditions1.add(condition1); ConditionsResolver resolver1 = new ConditionsResolver(conditions1); assertTrue("test1", resolver1.resolve(doc)); List<Condition> conditions2 = new ArrayList<Condition>(); List<String> params2 = new ArrayList<String>(); params2.add("bar"); Condition condition2 = new Condition(new TestClass1(), "returnFalse", "false", params2); conditions2.add(condition2); ConditionsResolver resolver2 = new ConditionsResolver(conditions2); assertTrue("test2", resolver2.resolve(doc)); List<Condition> conditions3 = new ArrayList<Condition>(); List<String> params3 = new ArrayList<String>(); params3.add("bar"); Condition condition3 = new Condition(new TestClass1(), "returnFalse", "true", params3); conditions3.add(condition3); ConditionsResolver resolver3 = new ConditionsResolver(conditions3); assertFalse("test3",resolver3.resolve(doc)); List<Condition> conditions4 = new ArrayList<Condition>(); List<String> params4 = new ArrayList<String>(); params4.add("bar"); Condition condition4 = new Condition(new TestClass1(), "returnString", "bar", params4); conditions4.add(condition4); ConditionsResolver resolver4 = new ConditionsResolver(conditions4); assertTrue("test4", resolver4.resolve(doc)); // test all List<Condition> conditionsAll = new ArrayList<Condition>(); conditionsAll.add(condition1); conditionsAll.add(condition2); conditionsAll.add(condition3); // this returns false conditionsAll.add(condition4); ConditionsResolver resolverAll1 = new ConditionsResolver(conditionsAll); assertFalse("testAll", resolverAll1.resolve(doc)); conditionsAll.remove(condition3); //because this one returns false, so others are now true ConditionsResolver resolverAll2 = new ConditionsResolver(conditionsAll); assertTrue("testAll", resolverAll2.resolve(doc)); } public class TestClass1 extends ContentHelper { public TestClass1() { } public boolean returnTrue(String foo) { return true; } public boolean returnFalse(String foo) { return false; } public String returnString(String s) { return s; } } }