hbui
2024-07-19 cb171b125c047de75cd2c7c6837e8781b8336699
Graph Implementierung für die Aufgabe OK
2 files modified
51 ■■■■■ changed files
stundenplan/src/pygraph/graphdemo.py 3 ●●●● patch | view | raw | blame | history
stundenplan/tests/pygraph/graphdemo.tests.py 48 ●●●●● patch | view | raw | blame | history
stundenplan/src/pygraph/graphdemo.py
@@ -8,7 +8,6 @@
            if not isinstance(vertex, int):
                raise TypeError(f"Argument {vertex} is not a valid vertex")
            self._adjacent[vertex] = set()
        pass
    def add_edge(self, u, v):
@@ -64,7 +63,7 @@
        visited_edges: dict[int, set] = {}
        for start in self.vertices():
            for end in self.adjacent_of(start):
                (first, second) = (start, end) if (start > end) else (end, start)
                (first, second) = (start, end) if (start >= end) else (end, start)
            if first in visited_edges:
                visited_adjacent = visited_edges.get(first)
                if second not in visited_adjacent:
stundenplan/tests/pygraph/graphdemo.tests.py
@@ -35,6 +35,54 @@
            self.assertTrue(edge in edges)
        g.for_each_edges(action)
    def test_iterate_all_vertices(self):
        g = Graph()
        g.add_edge(1, 2)
        g.add_edge(1, 3)
        g.add_edge(2, 3)
        g.add_edge(2, 4)
        vertices = []
        for v in g.vertices():
            vertices.append(v)
        expected = [1, 2, 3, 4]
        self.assertListEqual(sorted(vertices), expected)
        pass
    def test_iterate_neighbor_vertex(self):
        g = Graph()
        g.add_edge(1, 2)
        g.add_edge(1, 3)
        g.add_edge(2, 3)
        g.add_edge(2, 4)
        g.add_edge(4, 1)
        vertices = []
        for v in g.adjacent_of(1):
            vertices.append(v)
        expected = [2, 3, 4]
        self.assertListEqual(sorted(vertices), expected)
        pass
    def test_not_add_float_to_vertex(self):
        g = Graph()
        try:
            g.add_vertex(1.2)
            pass
        except TypeError as ex:
            expected_msg = "Argument 1.2 is not a valid vertex"
            self.assertEqual(str(ex), expected_msg)
            pass
        pass
    def test_not_add_string_to_vertex(self):
        g = Graph()
        try:
            g.add_vertex("add")
        except TypeError as ex:
            expected_msg = 'Argument add is not a valid vertex'
            self.assertEqual(str(ex), expected_msg)
            pass
        pass
if __name__ == '__main__':
    unittest.main()