blob: 5ed52802ae1efac2d42ed282049427a1b06700da [file] [log] [blame]
@test
operation emptyToEmpty() {
transform();
assertEqualModels("Graph", "GraphExpected");
}
@test
operation oneNodeToRoot() {
var t = newRoot('A');
var g = new GraphExpected!Graph;
g.newNode('A');
transform();
assertEqualModels("Graph", "GraphExpected");
}
@test
operation twoLevels() {
var root = newRoot('A');
root.newChild('B');
root.newChild('C');
var g = new GraphExpected!Graph;
var gMain = g.newNode('A');
gMain.newChild('B');
gMain.newChild('C');
transform();
assertEqualModels("Graph", "GraphExpected");
}
operation newRoot(label : String) : Tree!Tree {
var t = new Tree!Tree;
t.label = label;
return t;
}
operation Tree!Tree newChild(label : String) : Tree!Tree {
var child = new Tree!Tree;
child.label = label;
child.parent = self;
return child;
}
operation GraphExpected!Graph newNode(name : String) : GraphExpected!Node {
var node = new GraphExpected!Node;
node.name = name;
self.nodes.add(node);
return node;
}
operation GraphExpected!Node linkTo(target : GraphExpected!Node) : GraphExpected!Edge {
var edge = new GraphExpected!Edge;
edge.source = self;
edge.target = target;
return edge;
}
operation GraphExpected!Node newChild(label : String) : GraphExpected!Node {
var node = self.eContainer.newNode(label);
self.linkTo(node);
return node;
}