def make_a_simplegraph(): nodes = (Node(5), Node("woo"), Node(object()), Node("pikachu")) nodes[0].pointers.append(nodes[1]) nodes[0].pointers.append(nodes[2]) nodes[1].pointers.append(nodes[2]) nodes[2].pointers.append(nodes[3]) nodes[3].pointers.append(nodes[1]) nodes[3].pointers.append(nodes[0]) return SimpleGraph(nodes)
def test_LinkedList_remove(self): l1 = LinkedList() l1.insert(0) l1.insert(1) l1.insert(2) Node3 = Node(3) with self.assertRaises(ValueError): l1.remove(Node3) l1.remove_val(3) self.assertEqual(l1.size(), 3) Node2 = l1.search(2) l1.remove(Node2) self.assertEqual(l1.size(), 2) Node0 = l1.search(0) l1.remove(Node0) self.assertEqual(l1.size(), 1) Node1 = l1.search(1) l1.remove(Node1) self.assertEqual(l1.size(), 0) with self.assertRaises(ValueError): l1.remove(Node1) l1.remove(Node0) l1.remove(Node2) l1.remove_val(1) l1.remove_val(0) l1.remove_val(2)
def test_adjacent(): g = make_a_simplegraph() node = g.nodes()[2] helper = Node("helper") g.add_node(helper) assert not g.adjacent(helper, node) g.add_edge(helper, node) assert g.adjacent(helper, node)
def test_neighbors(): g = make_a_simplegraph() node = g.nodes()[2] helper = Node("helper") g.add_node(helper) assert node not in g.neighbors(helper) g.add_edge(helper, node) assert node in g.neighbors(helper)
def test_del_edge(): g = make_a_simplegraph() node = g.nodes()[2] helper = Node("helper") g.add_node(helper) g.add_edge(helper, node) assert (helper, node) in g.edges() g.del_edge(helper, node) assert (helper, node) not in g.edges()
def test_IterNode(self): i1 = IterNode(None) self.assertIsNone(i1.cur) with self.assertRaises(StopIteration): i1.next() Node0 = Node(0) i2 = IterNode(Node0) self.assertIsNotNone(i2.cur) Node1 = i2.next() self.assertEqual(Node0, Node1) with self.assertRaises(StopIteration): i2.next()
def test_Node___init__(self): Node0 = Node(0) self.assertEqual(Node0.val, 0) self.assertIsNone(Node0.link)
def test_has_node(): g = make_a_simplegraph() node = g.nodes()[0] assert g.has_node(node) assert not g.has_node(Node("Nope"))
def test_add_node(): g = make_a_simplegraph() node = Node("Me!") g.add_node(node) assert node in g.nodes()