@@ -54,3 +54,48 @@ function testprops_recu(nmg)
5454 gr isa NestedGraph && testprops_recu (gr)
5555 end
5656end
57+
58+ function test_simple_top ()
59+ DynNG = NestedGraph{Int, SimpleGraph{Int}, AbstractGraph}
60+ ngdyn = DynNG ()
61+ add_vertex! (ngdyn, SimpleGraph (3 ))
62+ add_vertex! (ngdyn, SimpleGraph (6 ))
63+ add_vertex! (ngdyn)
64+ add_vertex! (ngdyn, subgraphs = 2 )
65+ add_vertex! (ngdyn, DynNG ())
66+ ngin = length (ngdyn. grv)
67+ add_vertex! (ngdyn, subgraphs = ngin)
68+ add_vertex! (ngdyn, SimpleGraph (2 ), subgraphs = ngin)
69+ add_vertex! (ngdyn, DynNG (), subgraphs = ngin)
70+ add_vertex! (ngdyn, subgraphs= [3 ,2 ])
71+ add_vertex! (ngdyn, SimpleGraph (2 ), subgraphs= [3 ,3 ])
72+ add_edge! (ngdyn, 1 ,8 )
73+ add_edge! (ngdyn, 2 ,9 )
74+ return ngdyn
75+ end
76+
77+ function test_meta_top ()
78+ DynMNG = NestedGraph{Int, MetaGraph{Int,Float64}, AbstractGraph}
79+ ngdyn = DynMNG (extrasubgraph= false )
80+ sg1 = MetaGraph (3 )
81+ [set_prop! (sg1, v, :vel , " 1.$(v) " ) for v in vertices (sg1)]
82+ add_vertex! (ngdyn, sg1)
83+ add_vertex! (ngdyn, MetaGraph (6 ))
84+ # ngdyn.grv[2] and ngdyn.flatgr `Dict` are shallow copies
85+ [set_prop! (ngdyn. grv[2 ], v, :vel , " 2.$(v) " ) for v in 1 : 6 ]
86+ # flatnode 10 enters in vmap (1,4)
87+ add_vertex! (ngdyn, :vel , " 1.4" )
88+ add_vertex! (ngdyn, :vel , " 2.7" ; subgraphs = 2 )
89+ add_vertex! (ngdyn, DynMNG (extrasubgraph= false ))
90+ add_vertex! (ngdyn, :vel , " 3.1.1" ; subgraphs = 3 )
91+ sg2 = MetaGraph (2 )
92+ [set_prop! (sg2, v, :vel , " 3.1.$(v) " ) for v in vertices (sg2)]
93+ add_vertex! (ngdyn, sg2, subgraphs = 3 )
94+ add_vertex! (ngdyn, DynMNG (extrasubgraph= false ), subgraphs = 3 )
95+ # flatnode 15 enters in subgraph (3,4)
96+ add_vertex! (ngdyn, :vel , " 3.3.1" ,subgraphs= [3 ,2 ])
97+ sg3 = MetaGraph (2 )
98+ [set_prop! (sg3, v, :vel , " 3.3.2.$(v) " ) for v in vertices (sg3)]
99+ add_vertex! (ngdyn, sg3, subgraphs= [3 ,3 ])
100+ return ngdyn
101+ end
0 commit comments