@Test public void testOperatorNotChanged() throws Exception { final String selectedOperator = "=="; final String selectedOperatorDisplayText = HumanReadableConstants.INSTANCE.isEqualTo(); final String originalOperator = "=="; final String constraintValue = null; invokeHandlers(selectedOperator, selectedOperatorDisplayText, originalOperator, constraintValue); verify(constraint, never()).setOperator(anyString()); verifyZeroInteractions(constraintValueEditor); }
@Test public void testOperatorNotChanged() throws Exception { final String selectedOperator = "=="; final String selectedOperatorDisplayText = HumanReadableConstants.INSTANCE.isEqualTo(); final String originalOperator = "=="; final String constraintValue = null; invokeHandlers(selectedOperator, selectedOperatorDisplayText, originalOperator, constraintValue); verify(constraint, never()).setOperator(anyString()); verifyZeroInteractions(constraintValueEditor); }
@Test public void testNothingSelected() throws Exception { final String selectedOperator = ""; final String selectedOperatorDisplayText = ""; final String originalOperator = "=="; final String constraintValue = null; invokeHandlers(selectedOperator, selectedOperatorDisplayText, originalOperator, constraintValue); verify(constraint).setOperator(null); verify(constraintValueEditor, never()).showError(); verify(constraintValueEditor).setVisible(false); }
@Test public void testNothingSelected() throws Exception { final String selectedOperator = ""; final String selectedOperatorDisplayText = ""; final String originalOperator = "=="; final String constraintValue = null; invokeHandlers(selectedOperator, selectedOperatorDisplayText, originalOperator, constraintValue); verify(constraint).setOperator(null); verify(constraintValueEditor, never()).showError(); verify(constraintValueEditor).setVisible(false); }
@Test public void testNewOperatorSelectedButValueNotNeeded() throws Exception { final String selectedOperator = "!= null"; final String selectedOperatorDisplayText = HumanReadableConstants.INSTANCE.isNotEqualToNull(); final String originalOperator = "=="; final String constraintValue = ""; invokeHandlers(selectedOperator, selectedOperatorDisplayText, originalOperator, constraintValue); verify(constraint).setOperator(selectedOperator); verify(constraintValueEditor).hideError(); verify(constraintValueEditor).setVisible(false); }
@Test public void testNewOperatorSelectedAndValueNeeded() throws Exception { final String selectedOperator = "!="; final String selectedOperatorDisplayText = HumanReadableConstants.INSTANCE.isNotEqualTo(); final String originalOperator = "=="; final String constraintValue = null; invokeHandlers(selectedOperator, selectedOperatorDisplayText, originalOperator, constraintValue); verify(constraint).setOperator(selectedOperator); verify(constraintValueEditor).showError(); verify(constraintValueEditor).setVisible(true); }
@Test public void testNewOperatorSelectedAndValuePresent() throws Exception { final String selectedOperator = "!="; final String selectedOperatorDisplayText = HumanReadableConstants.INSTANCE.isNotEqualTo(); final String originalOperator = "=="; final String constraintValue = "123"; invokeHandlers(selectedOperator, selectedOperatorDisplayText, originalOperator, constraintValue); verify(constraint).setOperator(selectedOperator); verify(constraintValueEditor).hideError(); verify(constraintValueEditor).setVisible(true); }
@Test public void testNewOperatorSelectedButValueNotNeeded() throws Exception { final String selectedOperator = "!= null"; final String selectedOperatorDisplayText = HumanReadableConstants.INSTANCE.isNotEqualToNull(); final String originalOperator = "=="; final String constraintValue = ""; invokeHandlers(selectedOperator, selectedOperatorDisplayText, originalOperator, constraintValue); verify(constraint).setOperator(selectedOperator); verify(constraintValueEditor).hideError(); verify(constraintValueEditor).setVisible(false); }
@Test public void testNewOperatorSelectedAndValueNeeded() throws Exception { final String selectedOperator = "!="; final String selectedOperatorDisplayText = HumanReadableConstants.INSTANCE.isNotEqualTo(); final String originalOperator = "=="; final String constraintValue = null; invokeHandlers(selectedOperator, selectedOperatorDisplayText, originalOperator, constraintValue); verify(constraint).setOperator(selectedOperator); verify(constraintValueEditor).showError(); verify(constraintValueEditor).setVisible(true); }
@Test public void testNewOperatorSelectedAndValuePresent() throws Exception { final String selectedOperator = "!="; final String selectedOperatorDisplayText = HumanReadableConstants.INSTANCE.isNotEqualTo(); final String originalOperator = "=="; final String constraintValue = "123"; invokeHandlers(selectedOperator, selectedOperatorDisplayText, originalOperator, constraintValue); verify(constraint).setOperator(selectedOperator); verify(constraintValueEditor).hideError(); verify(constraintValueEditor).setVisible(true); }
@Test public void testMissingValueWhenOperatorExists() throws Exception { FactPattern pattern = new FactPattern("Person"); SingleFieldConstraint constraint = new SingleFieldConstraint("age"); constraint.setOperator("=="); pattern.addConstraint(constraint); model.lhs = new IPattern[]{pattern}; assertFalse(validator.isValid()); assertEquals(1, validator.getErrors().size()); assertEquals(MISSING_VALUE_WHEN_OPERATOR_IS_SET, validator.getErrors().get(0)); verify(constants).FactType0HasAField1ThatHasAnOperatorSetButNoValuePleaseAddAValueOrRemoveTheOperator("Person", "age"); }
@Test public void testMissingValueWhenOperatorExists() throws Exception { FactPattern pattern = new FactPattern("Person"); SingleFieldConstraint constraint = new SingleFieldConstraint("age"); constraint.setOperator("=="); pattern.addConstraint(constraint); model.lhs = new IPattern[]{pattern}; assertFalse(validator.isValid()); assertEquals(1, validator.getErrors().size()); assertEquals(MISSING_VALUE_WHEN_OPERATOR_IS_SET, validator.getErrors().get(0)); verify(constants).FactType0HasAField1ThatHasAnOperatorSetButNoValuePleaseAddAValueOrRemoveTheOperator("Person", "age"); }
@Test public void testMissingValueWhenOperatorExistsIsNull() throws Exception { FactPattern pattern = new FactPattern("Person"); SingleFieldConstraint constraint = new SingleFieldConstraint("age"); constraint.setOperator("== null"); pattern.addConstraint(constraint); CompositeFactPattern not = new CompositeFactPattern(); not.setType("not"); not.addFactPattern(pattern); model.lhs = new IPattern[]{not}; assertTrue(validator.isValid()); assertTrue(validator.getErrors().isEmpty()); }
@Test public void testMissingValueWhenOperatorExistsIsNotNull() throws Exception { FactPattern pattern = new FactPattern("Person"); SingleFieldConstraint constraint = new SingleFieldConstraint("age"); constraint.setOperator("!= null"); pattern.addConstraint(constraint); CompositeFactPattern not = new CompositeFactPattern(); not.setType("not"); not.addFactPattern(pattern); model.lhs = new IPattern[]{not}; assertTrue(validator.isValid()); assertTrue(validator.getErrors().isEmpty()); }
@Test public void testMissingValueWhenOperatorExistsIsNotNull() throws Exception { FactPattern pattern = new FactPattern("Person"); SingleFieldConstraint constraint = new SingleFieldConstraint("age"); constraint.setOperator("!= null"); pattern.addConstraint(constraint); CompositeFactPattern not = new CompositeFactPattern(); not.setType("not"); not.addFactPattern(pattern); model.lhs = new IPattern[]{not}; assertTrue(validator.isValid()); assertTrue(validator.getErrors().isEmpty()); }
@Test public void testMissingValueWhenOperatorExistsIsNull() throws Exception { FactPattern pattern = new FactPattern("Person"); SingleFieldConstraint constraint = new SingleFieldConstraint("age"); constraint.setOperator("== null"); pattern.addConstraint(constraint); CompositeFactPattern not = new CompositeFactPattern(); not.setType("not"); not.addFactPattern(pattern); model.lhs = new IPattern[]{not}; assertTrue(validator.isValid()); assertTrue(validator.getErrors().isEmpty()); }
@Test public void testEmptyLiteralNonStringFieldConstraints() throws Exception { FactPattern f1 = new FactPattern("Applicant"); f1.setBoundName("$a"); SingleFieldConstraint constraint = new SingleFieldConstraint(); constraint.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); constraint.setFieldType(DataType.TYPE_NUMERIC_INTEGER); constraint.setFactType("Applicant"); constraint.setOperator("=="); constraint.setFieldName("age"); f1.addConstraint(constraint); model.lhs = new IPattern[]{f1}; assertFalse(validator.isValid()); }
@Test public void testEmptyLiteralStringFieldConstraints() throws Exception { FactPattern f1 = new FactPattern("Applicant"); f1.setBoundName("$a"); SingleFieldConstraint constraint = new SingleFieldConstraint(); constraint.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); constraint.setFieldType(DataType.TYPE_STRING); constraint.setFactType("Applicant"); constraint.setOperator("=="); constraint.setFieldName("name"); f1.addConstraint(constraint); model.lhs = new IPattern[]{f1}; assertTrue(validator.isValid()); }
@Test public void testEmptyLiteralStringFieldConstraints() throws Exception { FactPattern f1 = new FactPattern("Applicant"); f1.setBoundName("$a"); SingleFieldConstraint constraint = new SingleFieldConstraint(); constraint.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); constraint.setFieldType(DataType.TYPE_STRING); constraint.setFactType("Applicant"); constraint.setOperator("=="); constraint.setFieldName("name"); f1.addConstraint(constraint); model.lhs = new IPattern[]{f1}; assertTrue(validator.isValid()); }
private static SingleFieldConstraint buildSingleFieldConstraint() { SingleFieldConstraint sfc = new SingleFieldConstraint(); sfc.setExpressionValue( buildExpressionFormLine() ); sfc.setFactType( "FactType" ); sfc.setFieldBinding( "fieldBinding" ); sfc.setFieldName( "fieldName" ); sfc.setFieldType( "FieldType" ); sfc.setId( "id" ); sfc.setOperator( "operator" ); sfc.setParameter( "key", "parameter" ); sfc.setParent( new SingleFieldConstraint( "parentFieldName" ) ); sfc.addNewConnective(); return sfc; }