package generator;
import generators.ASTGenerator;
import models.objectOrientedTransfer.*;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.List;
public class TestMultipleContexts {
@Test
public void testMultipleContexts() {
try {
List<ReferenceEdge> srcEdges = new ArrayList<>();
List<ReferenceEdge> dstEdges = new ArrayList<>();
ObjectNode main = new ObjectNode("Main");
ObjectNode star = new ObjectNode("Star");
ObjectNode states = new ObjectNode("States");
ObjectNode memento = new ObjectNode("Memento");
ReferenceEdge srcEdge = new ReferenceEdge(main, star, "star");
srcEdges.add(srcEdge);
ReferenceEdge dstEdge = new ReferenceEdge(main, states, "states");
dstEdges.add(dstEdge);
List<Relation> relations = new ArrayList<>();
Relation transferRelation = new Relation(srcEdges, dstEdges, MultiplicityValue.OneToOne);
DataTransferContext context = new DataTransferContext(relations, transferRelation, memento, "memento", PushPullValue.PULL);
DataTransferDesign design = new DataTransferDesign(context);
List<ReferenceEdge> srcEdges2 = new ArrayList<>();
List<ReferenceEdge> dstEdges2 = new ArrayList<>();
ReferenceEdge srcEdge2 = new ReferenceEdge(main, states, "states");
srcEdges2.add(srcEdge2);
ReferenceEdge dstEdge2 = new ReferenceEdge(main, star, "star");
dstEdges2.add(dstEdge2);
Relation transferRelation2 = new Relation(srcEdges2, dstEdges2, MultiplicityValue.OneToOne);
DataTransferContext context2 = new DataTransferContext(relations, transferRelation2, memento, "memento", PushPullValue.PUSH);
design.addTransferContext(context2);
System.out.println(ASTGenerator.generate(design));
} catch (IllegalRelationException e) {
e.printStackTrace();
}
}
}