@Test public void testRemoveConstraint() { final FactPattern p = new FactPattern(); final SingleFieldConstraint x = new SingleFieldConstraint( "x" ); p.addConstraint( x ); final SingleFieldConstraint y = new SingleFieldConstraint( "y" ); p.addConstraint( y ); assertEquals( 2, p.constraintList.constraints.length ); p.removeConstraint( 1 ); assertEquals( 1, p.constraintList.constraints.length ); assertEquals( x, p.constraintList.constraints[0] ); }
@Test public void testRemoveConstraintWithNonNullParent() { final FactPattern fp = new FactPattern(); final SingleFieldConstraint con1 = new SingleFieldConstraint( "parent" ); fp.addConstraint( con1 ); final SingleFieldConstraint con2 = new SingleFieldConstraint(); con2.setParent( con1 ); fp.addConstraint( con2 ); final SingleFieldConstraint con3 = new SingleFieldConstraint(); con3.setParent( con2 ); fp.addConstraint( con3 ); assertEquals( 3, fp.constraintList.constraints.length ); fp.removeConstraint( 1 ); assertEquals( 2, fp.constraintList.constraints.length ); assertEquals( con1, fp.constraintList.constraints[0] ); assertEquals( con3, fp.constraintList.constraints[1] ); assertNull( ((SingleFieldConstraint) fp.constraintList.constraints[0]).getParent() ); assertEquals( con1, ((SingleFieldConstraint) fp.constraintList.constraints[1]).getParent() ); }
@Test public void testRemoveConstraintWithNullParent() { final FactPattern fp = new FactPattern(); final SingleFieldConstraint con1 = new SingleFieldConstraint( "parent" ); fp.addConstraint( con1 ); final SingleFieldConstraint con2 = new SingleFieldConstraint(); con2.setParent( con1 ); fp.addConstraint( con2 ); final SingleFieldConstraint con3 = new SingleFieldConstraint(); con3.setParent( con2 ); fp.addConstraint( con3 ); assertEquals( 3, fp.constraintList.constraints.length ); fp.removeConstraint( 0 ); assertEquals( 2, fp.constraintList.constraints.length ); assertEquals( con2, fp.constraintList.constraints[0] ); assertEquals( con3, fp.constraintList.constraints[1] ); assertNull( ((SingleFieldConstraint) fp.constraintList.constraints[0]).getParent() ); assertEquals( con2, ((SingleFieldConstraint) fp.constraintList.constraints[1]).getParent() ); }