def test_lots_of_nodes(self): graph = Graph() actions = ["RenderAction", "ComprenderAction"] scenefiles = ["MayaFile", "NukeFile", "HoudiniFile"] nodes = {} nodes["scenes"] = [] nodes["actions"] = [] numNodes = 2000 for x in range(0, numNodes): r = random() if nodes["scenes"] and r > 0.5: scene = choice(nodes["scenes"]) actiontype = choice(scene.knownActions()) node = scene.createAction(actiontype, "bar") nodes["actions"].append(node) else: node = graph.createNode(choice(scenefiles), "foo") nodes["scenes"].append(node) self.assertEqual( len(nodes["actions"]) + len(nodes["scenes"]), numNodes) self.assertEqual(len(graph.nodes), numNodes) for nodename in graph.nodes: self.assertEqual(nodename, graph.nodes[nodename].name) json1 = graph.serialize() self.assertTrue(json.dumps(json1)) revivedGraph = Graph.deserialize(json1) self.assertEqual(graph, revivedGraph)