from mdp import graph def testAddNode(): # add_node g = graph.Graph() nnodes = 5 for i in xrange(nnodes): g.add_node() assert len(g.nodes)==nnodes, "Wrong number of nodes, expected: %d, got :%d" % (nnodes, len(g.nodes)) # add nodes g = graph.Graph() g.add_nodes(5) assert len(g.nodes)==nnodes, "Wrong number of nodes, expected: %d, got :%d" % (nnodes, len(g.nodes)) g = graph.Graph() g.add_nodes([None] * nnodes) assert len(g.nodes)==nnodes, "Wrong number of nodes, expected: %d, got :%d" % (nnodes, len(g.nodes)) def testAddEdge(): g = graph.Graph() nnodes = 5 nds = [g.add_node() for i in xrange(nnodes)] eds = [g.add_edge(nds[i], nds[i+1]) for i in xrange(nnodes-1)] assert len(g.edges)==nnodes-1, "Wrong number of edges, expected: %d, got :%d" % (nnodes-1, len(g.edges)) # the last nnodes-1 nodes should have in_degree==1, # and the first nnodes-1 out_degree==1 for i in xrange(nnodes): if i>0: assert nds[i].in_degree()==1, "Wrong in_degree, expected: 1, got: %d." % nds[i].in_degree() if i