def test_edge_arithmetic(self): # don't really have to test weight, since that should be accounted for average_degree.increment_edge(1, 2, self.graph) self.num_edge_and_nodes_assert(2, 1, self.graph) average_degree.increment_edge(2, 3, self.graph) self.num_edge_and_nodes_assert(3, 2, self.graph) average_degree.increment_edge(4, 5, self.graph) self.num_edge_and_nodes_assert(5, 3, self.graph) # increment edge but not node average_degree.increment_edge(1, 4, self.graph) self.num_edge_and_nodes_assert(5, 4, self.graph) # this checks that incrementing an already existing edge doesn't do anything average_degree.increment_edge(1, 2, self.graph) self.num_edge_and_nodes_assert(5, 4, self.graph) # this checks decrementing weight > 1 edge doesn't remove anything average_degree.decrement_edge(1, 2, self.graph) self.num_edge_and_nodes_assert(5, 4, self.graph) # this checks decrementing weight = 1 DOES remove something average_degree.decrement_edge(2, 3, self.graph) self.num_edge_and_nodes_assert(4, 3, self.graph) # remove edge but not node average_degree.decrement_edge(1, 4, self.graph) self.num_edge_and_nodes_assert(4, 2, self.graph) # remove two nodes and one edge average_degree.decrement_edge(4, 5, self.graph) self.num_edge_and_nodes_assert(2, 1, self.graph)
def test_edge_errors(self): average_degree.increment_edge(1, 2, self.graph) self.assertRaises(TypeError, average_degree.decrement_edge, 1, 3, self.graph) average_degree.decrement_edge(1, 2, self.graph) self.assertRaises(TypeError, average_degree.decrement_edge, 1, 2, self.graph)