hegyi@677: #include hegyi@677: #include hegyi@677: #include hegyi@677: hegyi@677: #include "hierarchygraph.h" hegyi@677: #include hegyi@677: #include hegyi@677: #include hegyi@677: hegyi@677: using namespace hugo; hegyi@677: using namespace std; hegyi@677: hegyi@677: bool passed = true; hegyi@677: hegyi@677: void check(bool rc) { hegyi@677: passed = passed && rc; hegyi@677: if(!rc) { hegyi@677: cout << "Test failed!" << endl; hegyi@677: } hegyi@677: } hegyi@677: hegyi@677: int main() hegyi@677: { hegyi@677: HierarchyGraph HGr; hegyi@690: ListGraph subnetwork, othernetwork; hegyi@690: typedef HierarchyGraph::Node Node; hegyi@690: typedef HierarchyGraph::Edge Edge; hegyi@690: typedef HierarchyGraph::SubNetwork Sntype; hegyi@690: hegyi@690: Node n0, n1, n2; hegyi@690: Edge e0, e1, e2, e3, e4, e5; hegyi@690: hegyi@690: ListGraph::Node sn0, sn1, on0; hegyi@690: ListGraph::Edge se0; hegyi@690: hegyi@690: n0=HGr.addNode(); hegyi@690: hegyi@690: cout << "Az n0 id-je: " << HGr.actuallayer.id(n0) << endl; hegyi@690: hegyi@690: n1=HGr.addNode(); hegyi@690: n2=HGr.addNode(); hegyi@690: hegyi@690: e0=HGr.addEdge(n0,n1); hegyi@690: e1=HGr.addEdge(n1,n0); hegyi@690: e2=HGr.addEdge(n0,n2); hegyi@690: e3=HGr.addEdge(n2,n0); hegyi@690: e4=HGr.addEdge(n1,n2); hegyi@690: e5=HGr.addEdge(n2,n1); hegyi@690: hegyi@690: sn0=subnetwork.addNode(); hegyi@690: sn1=subnetwork.addNode(); hegyi@690: se0=subnetwork.addEdge(sn0,sn1); hegyi@690: hegyi@690: Sntype sn; hegyi@690: sn.setActualLayer(&(HGr.actuallayer)); hegyi@690: sn.setActualLayerNode(&(n0)); hegyi@690: sn.addAssignment(e0, sn0); hegyi@690: sn.addAssignment(e1, sn1); hegyi@690: sn.addAssignment(e2, sn1); hegyi@690: sn.addAssignment(e3, sn0); hegyi@690: sn.addAssignment(e1, sn0); hegyi@690: sn.addAssignment(e5, sn0); hegyi@690: hegyi@690: hegyi@690: hegyi@690: on0=othernetwork.addNode(); hegyi@690: hegyi@690: cout << "ID of a node from a different graph: " << subnetwork.id(on0) << endl; hegyi@690: cout << "ID of a node in its graph: " << othernetwork.id(on0) << endl; hegyi@690: cout << "ID of a node from a graph: " << subnetwork.id(sn0) << endl; hegyi@690: hegyi@690: ListGraph::NodeIt snni; hegyi@690: //ListGraph::Node snn; hegyi@690: hegyi@690: for(subnetwork.first(snni);subnetwork.valid(snni);subnetwork.next(snni)) hegyi@690: { hegyi@690: if(snni==on0) hegyi@690: { hegyi@690: cout << "Nem jo, megtalalta az idegen node-ot sajat haloban, pedig azt nem szabad!!!" hegyi@690: << subnetwork.id(snni) << subnetwork.id(on0) << othernetwork.id(snni) << othernetwork.id(on0) << endl; hegyi@690: } hegyi@690: else cout << "ID:" << subnetwork.id(snni) << endl; hegyi@690: hegyi@690: } hegyi@690: hegyi@690: hegyi@690: HGr.subnetworks[n0]=sn; hegyi@690: hegyi@677: }