labels = new ObjectLabel[4];
vars = new SpecVar[5];
subs = new Substitution[2];
aliases = new TestAliasContext[2];
RelationshipDelta delta;
TestAliasContext aliasContext;
relations[0] = new Relation("A", new String[] {"Foo", "Bar"});
relations[1] = new Relation("B", new String[] {"Bar", "Bar"});
relations[2] = new Relation("C", new String[] {"Bar", "Bazar"});
labels[0] = new AbstractObjectLabel("w", "Bar");
labels[1] = new AbstractObjectLabel("x");
labels[2] = new AbstractObjectLabel("y", "Foo");
labels[3] = new AbstractObjectLabel("z");
vars[0] = new SpecVar();
vars[1] = new SpecVar();
vars[2] = new SpecVar();
vars[3] = new SpecVar();
vars[4] = new SpecVar();
subs[0] = new Substitution();
subs[0] = subs[0].addSub(vars[0], labels[0]);
subs[0] = subs[0].addSub(vars[1], labels[2]);
subs[0] = subs[0].addSub(vars[2], labels[3]);
subs[0] = subs[0].addSub(vars[3], labels[2]);
subs[0] = subs[0].addSub(vars[4], labels[1]);
subs[1] = new Substitution();
subs[1] = subs[1].addSub(vars[0], labels[0]);
subs[1] = subs[1].addSub(vars[1], labels[2]);
subs[1] = subs[1].addSub(vars[2], labels[3]);
subs[1] = subs[1].addSub(Constraint.RESULT, labels[2]);
subs[1] = subs[1].addSub(Constraint.RECEIVER, labels[1]);
delta = new RelationshipDelta();
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[2]}), SevenPointLattice.TRU);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[3]}), SevenPointLattice.FAL);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[1], labels[2]}), SevenPointLattice.TRU);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[1], labels[3]}), SevenPointLattice.FAL);
delta.setRelationship(new Relationship(relations[1], new ObjectLabel[] {labels[2], labels[3]}), SevenPointLattice.TRU);
delta.setRelationship(new Relationship(relations[1], new ObjectLabel[] {labels[3], labels[2]}), SevenPointLattice.UNK);
contexts[0] = new RelationshipContext(true).applyChangesFromDelta(delta);
delta = new RelationshipDelta();
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[2]}), SevenPointLattice.TRU);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[3]}), SevenPointLattice.FAL);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[1], labels[2]}), SevenPointLattice.FAL);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[1], labels[3]}), SevenPointLattice.TRU);
delta.setRelationship(new Relationship(relations[1], new ObjectLabel[] {labels[2], labels[3]}), SevenPointLattice.UNK);
delta.setRelationship(new Relationship(relations[1], new ObjectLabel[] {labels[3], labels[2]}), SevenPointLattice.UNK);
contexts[1] = new RelationshipContext(true).applyChangesFromDelta(delta);
delta = new RelationshipDelta();
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[2]}), SevenPointLattice.TRU);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[3]}), SevenPointLattice.FAL);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[1], labels[2]}), SevenPointLattice.UNK);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[1], labels[3]}), SevenPointLattice.UNK);
delta.setRelationship(new Relationship(relations[1], new ObjectLabel[] {labels[2], labels[3]}), SevenPointLattice.UNK);
delta.setRelationship(new Relationship(relations[1], new ObjectLabel[] {labels[3], labels[2]}), SevenPointLattice.UNK);
contexts[2] = new RelationshipContext(true).applyChangesFromDelta(delta);
delta = new RelationshipDelta();
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[2]}), SevenPointLattice.TRU);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[3]}), SevenPointLattice.UNK);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[1], labels[2]}), SevenPointLattice.FAL);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[1], labels[3]}), SevenPointLattice.UNK);
delta.setRelationship(new Relationship(relations[1], new ObjectLabel[] {labels[2], labels[3]}), SevenPointLattice.UNK);
delta.setRelationship(new Relationship(relations[1], new ObjectLabel[] {labels[3], labels[2]}), SevenPointLattice.UNK);
contexts[3] = new RelationshipContext(true).applyChangesFromDelta(delta);
delta = new RelationshipDelta();
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[2]}), SevenPointLattice.TRU);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[1], labels[3]}), SevenPointLattice.FAL);
delta.setRelationship(new Relationship(relations[1], new ObjectLabel[] {labels[2], labels[3]}), SevenPointLattice.TRU);
delta.setRelationship(new Relationship(relations[1], new ObjectLabel[] {labels[3], labels[2]}), SevenPointLattice.UNK);
deltas[0] = delta;
delta = new RelationshipDelta();
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[2]}), SevenPointLattice.TRU);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[1], labels[2]}), SevenPointLattice.FAL);
delta.setRelationship(new Relationship(relations[1], new ObjectLabel[] {labels[2], labels[3]}), SevenPointLattice.UNK);
delta.setRelationship(new Relationship(relations[1], new ObjectLabel[] {labels[3], labels[2]}), SevenPointLattice.UNK);
deltas[1] = delta;
delta = new RelationshipDelta();
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[2]}), SevenPointLattice.TRU);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[3]}), SevenPointLattice.FAL);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[1], labels[2]}), SevenPointLattice.UNK);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[1], labels[3]}), SevenPointLattice.UNK);
delta.setRelationship(new Relationship(relations[1], new ObjectLabel[] {labels[2], labels[3]}), SevenPointLattice.UNK);
delta.setRelationship(new Relationship(relations[1], new ObjectLabel[] {labels[3], labels[2]}), SevenPointLattice.UNK);
deltas[2] = delta;
delta = new RelationshipDelta();
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[3]}), SevenPointLattice.UNK);
delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[1], labels[2]}), SevenPointLattice.TRU);
deltas[3] = delta;
aliasContext = new TestAliasContext();
aliases[0] = aliasContext;