4545 },
4646}
4747
48+ RV1_3 = {
49+ "version" : 1 ,
50+ "execution" : {
51+ "R_lite" : [{"rank" : "0-19" , "children" : {"gpu" : "0-1" , "core" : "0-7" }}],
52+ "starttime" : 0.0 ,
53+ "expiration" : 0.0 ,
54+ "nodelist" : ["compute[0-19]" ],
55+ "properties" : {"pdebug" : "0-9" , "pbatch" : "10-19" },
56+ },
57+ }
58+
4859
4960class TestResourceGraph (unittest .TestCase ):
5061 """Test for the ResourceGraph class."""
@@ -53,7 +64,7 @@ def _check_metadata(self, metadata):
5364 if metadata ["type" ] in ("node" , "core" , "gpu" , "cluster" ):
5465 self .assertEqual (metadata ["unit" ], "" )
5566 self .assertEqual (metadata ["size" ], 1 )
56- self .assertEqual (metadata ["properties" ], [] )
67+ self .assertEqual (metadata ["properties" ], {} )
5768 else :
5869 raise ValueError (metadata ["type" ])
5970
@@ -79,5 +90,25 @@ def test_basic_2(self):
7990 for node in graph .get_nodes ():
8091 self ._check_metadata (node .get_metadata ())
8192
93+ def test_basic_3 (self ):
94+ graph = FluxionResourceGraphV1 (RV1_3 )
95+ self .assertTrue (graph .is_directed ())
96+ j = graph .to_JSON ()
97+ self .assertTrue (j ["graph" ]["directed" ])
98+ self .assertEqual (len (j ["graph" ]["nodes" ]), len (graph .get_nodes ()))
99+ self .assertEqual (len (j ["graph" ]["edges" ]), len (graph .get_edges ()))
100+ for node in graph .get_nodes ():
101+ metadata = node .get_metadata ()
102+ if metadata ["type" ] != "node" :
103+ self ._check_metadata (node .get_metadata ())
104+ else :
105+ self .assertEqual (metadata ["unit" ], "" )
106+ self .assertEqual (metadata ["size" ], 1 )
107+ self .assertEqual (len (metadata ["properties" ]), 1 )
108+ if metadata ["id" ] < 10 :
109+ self .assertEqual (metadata ["properties" ]["pdebug" ], "" )
110+ else :
111+ self .assertEqual (metadata ["properties" ]["pbatch" ], "" )
112+
82113
83114unittest .main (testRunner = TAPTestRunner ())
0 commit comments