final PackageDescr packageDescr1 = new PackageDescr( "package1" );
createPredicateRule( packageDescr1,
"x==y" );
builder1.addPackage( packageDescr1 );
final Pattern pattern1 = (Pattern) builder1.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
final PredicateConstraint predicate1 = (PredicateConstraint) pattern1.getConstraints().get( 2 );
final PackageBuilder builder2 = new PackageBuilder();
final PackageDescr packageDescr2 = new PackageDescr( "package2" );
createPredicateRule( packageDescr2,
"x==y" );
builder2.addPackage( packageDescr2 );
final Pattern pattern2 = (Pattern) builder2.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
final PredicateConstraint predicate2 = (PredicateConstraint) pattern2.getConstraints().get( 2 );
final PackageBuilder builder3 = new PackageBuilder();
final PackageDescr packageDescr3 = new PackageDescr( "package3" );
createPredicateRule( packageDescr3,
"x!=y" );
builder3.addPackage( packageDescr3 );
final Pattern pattern3 = (Pattern) builder3.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
final PredicateConstraint predicate3 = (PredicateConstraint) pattern3.getConstraints().get( 2 );
assertEquals( predicate1,
predicate2 );
assertFalse( predicate1.equals( predicate3 ) );
assertFalse( predicate2.equals( predicate3 ) );