public void testAdd() { Graph l = graphWith( "x R y" ); Graph r = graphWith( "x R y; x R z" ); Difference diff = new Difference( l, r ); assertIsomorphic( graphWith( "" ), diff ); // case 1: add to the left operand diff.add( triple( "p S q" ) ); assertIsomorphic( graphWith( "p S q" ), diff ); assertIsomorphic( graphWith( "x R y; p S q" ), l ); assertIsomorphic( graphWith( "x R y; x R z" ), r ); // case 2: remove from the right, and add to the left operand diff.add( triple( "x R z" ) ); assertIsomorphic( graphWith( "x R z; p S q" ), diff ); assertIsomorphic( graphWith( "x R y; x R z; p S q" ), l ); assertIsomorphic( graphWith( "x R y" ), r ); // case 3: remove from the right operand diff.add( triple( "x R y" ) ); assertIsomorphic( graphWith( "x R y; x R z; p S q" ), diff ); assertIsomorphic( graphWith( "x R y; x R z; p S q" ), l ); assertIsomorphic( graphWith( "" ), r ); }
public void testAdd() { Graph l = graphWith( "x R y" ); Graph r = graphWith( "x R y; x R z" ); Difference diff = new Difference( l, r ); assertIsomorphic( graphWith( "" ), diff ); // case 1: add to the left operand diff.add( triple( "p S q" ) ); assertIsomorphic( graphWith( "p S q" ), diff ); assertIsomorphic( graphWith( "x R y; p S q" ), l ); assertIsomorphic( graphWith( "x R y; x R z" ), r ); // case 2: remove from the right, and add to the left operand diff.add( triple( "x R z" ) ); assertIsomorphic( graphWith( "x R z; p S q" ), diff ); assertIsomorphic( graphWith( "x R y; x R z; p S q" ), l ); assertIsomorphic( graphWith( "x R y" ), r ); // case 3: remove from the right operand diff.add( triple( "x R y" ) ); assertIsomorphic( graphWith( "x R y; x R z; p S q" ), diff ); assertIsomorphic( graphWith( "x R y; x R z; p S q" ), l ); assertIsomorphic( graphWith( "" ), r ); }