def test_neighbors(self): g = Graph(range(5)) edges = [(0, 1), (0, 3), (0, 4), (1, 2), (2, 3), (2, 4)] g.add_edges(edges) self.assertEqual([1, 3, 4], g.neighbors(0)) self.assertEqual([1, 3, 4], g.neighbors(2))
def __init__(self, group): Graph.__init__(self) apex = group.apex() for elem in apex: factors = Integer(elem).factorize().keys() self.add_vertices(factors) self.add_edges(itertools.combinations(factors, 2))
def test_sparse(self): g = Graph([7, 5, 9, 4, 2]) g.add_edges([(7, 5), (5, 2), (4, 9), (4, 7), (7, 9)]) expectedVertices = [2, 4, 5, 7, 9] expectedEdges = [(5, 7), (2, 5), (4, 9), (4, 7), (7, 9)] self.assertSparseGraphEqual((expectedVertices, expectedEdges), g.as_sparse_graph())
def __init__(self, group): Graph.__init__(self) apex = group.apex() for elem in apex: self._add_element(elem) for i, vertex in enumerate(self._vertices): instance = MultiModeStringFormatter.mixin_to(Integer(vertex)) instance.str_mode = 'verbose' self._vertices[i] = instance
def test_max_cocliques(self): vertices = range(6) edges = [(0, 1), (0, 5), (1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 5)] g = Graph(vertices) g.add_edges(edges) cocliques = g.max_cocliques() expected = [[0, 2, 4], [0, 3, 4], [3, 4, 5]] self.assertSequenceEqual(expected, cocliques)
class LayoutTest(unittest.TestCase): def setUp(self): self.graph = Graph(range(5)) self.graph.add_edges({(0, 1), (1, 2), (1, 3), (2, 3), (3, 4), (2, 4)}) self.layout = Layout(self.graph, default_location=(0.42, 0.42)) def test_setLocation(self): self.assertEquals((0.42, 0.42), self.layout[0]) self.layout[1] = Point(1, 1) self.assertEquals((1, 1), self.layout[1]) self.layout.reset() self.assertEquals((0.42, 0.42), self.layout[1])
def __init__(self, spectrum): Graph.__init__(self) for elem in spectrum: self._add_element(elem)
def __init__(self, spectrum): Graph.__init__(self) for elem in spectrum: factors = Integer(elem).factorize().keys() self.add_vertices(factors) self.add_edges(itertools.combinations(factors, 2))
def setUp(self): self.graph = Graph(range(5)) self.graph.add_edges({(0, 1), (1, 2), (1, 3), (2, 3), (3, 4), (2, 4)}) self.layout = Layout(self.graph, default_location=(0.42, 0.42))
def test_adjacent(self): g = Graph(range(3)) g.add_edge(0, 1) self.assertTrue(g.adjacent(0, 1)) self.assertFalse(g.adjacent(1, 2))
def test_clone_vertex(self): vertices = [1, 2, 3, 4, 5] g = Graph(vertices) edges = [(1, 2), (1, 3), (2, 4), (2, 5), (4, 5)] g.add_edges(edges) g.clone_vertex(g.index(2), 6) self.assertSparseGraphEqual((vertices + [6], edges + [(1, 6), (2, 6), (4, 6), (5, 6)]), g.as_sparse_graph()) g = Graph(vertices) g.add_edges(edges) g.clone_vertex(g.index(2), 3) self.assertSparseGraphEqual((vertices, edges + [(2, 3), (3, 4), (3, 5)]), g.as_sparse_graph())
def test_vertices(self): g = Graph([1, 2, 3]) self.assertSequenceEqual([1, 2, 3], list(g.vertices))
def test_add_vertices(self): vertices = [1, 2, 3, 4, 5] g = Graph(vertices) h = Graph() h.add_vertices(vertices) self.assertSparseGraphEqual(g.as_sparse_graph(), h.as_sparse_graph())
def __init__(self, group): Graph.__init__(self) apex = group.apex() for elem in apex: self._add_element(elem)