@Test public void testVerifyFactExplanation() throws Exception { Cheese f1 = new Cheese(); f1.setType(null); TypeResolver typeResolver = mock(TypeResolver.class); ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); HashMap<String, Object> populatedData = new HashMap<String, Object>(); populatedData.put("f1", f1); workingMemory.facts.add(f1); FactVerifier factVerifier = new FactVerifier(populatedData, typeResolver, classLoader, workingMemory, new HashMap<String, Object>()); VerifyFact vf = new VerifyFact(); vf.setName("f1"); vf.getFieldValues().add(new VerifyField("type", "boo", "!=")); factVerifier.verify(vf); VerifyField vfl = vf.getFieldValues().get(0); assertEquals("[f1] field [type] was not [boo].", vfl.getExplanation()); }
@Test public void testVerifyFactsWithExpression() throws Exception { TypeResolver typeResolver = mock(TypeResolver.class); ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); Cheese f1 = new Cheese("cheddar", 42); f1.setPrice(42); HashMap<String, Object> populatedData = new HashMap<String, Object>(); populatedData.put("f1", f1); workingMemory.facts.add(f1); FactVerifier factVerifier = new FactVerifier(populatedData, typeResolver, classLoader, workingMemory, new HashMap<String, Object>()); // test all true VerifyFact vf = new VerifyFact(); vf.setName("f1"); vf.getFieldValues().add(new VerifyField("price", "= 40 + 2", "==")); factVerifier.verify(vf); assertTrue(vf.getFieldValues().get(0).getSuccessResult()); }
@Test public void testVerifyFieldAndActualIsNull() throws Exception { Cheese f1 = new Cheese(); f1.setType(null); TypeResolver typeResolver = mock(TypeResolver.class); ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); HashMap<String, Object> populatedData = new HashMap<String, Object>(); populatedData.put("f1", f1); workingMemory.facts.add(f1); FactVerifier factVerifier = new FactVerifier(populatedData, typeResolver, classLoader, workingMemory, new HashMap<String, Object>()); VerifyFact vf = new VerifyFact(); vf.setName("f1"); vf.getFieldValues().add(new VerifyField("type", "boo", "==")); factVerifier.verify(vf); VerifyField vfl = vf.getFieldValues().get(0); assertEquals("[f1] field [type] was [] expected [boo].", vfl.getExplanation()); assertEquals("boo", vfl.getExpected()); assertEquals("", vfl.getActualResult()); }
vf.setName("f1"); VerifyField verifyField = new VerifyField( "cheeseType",