From cb171b125c047de75cd2c7c6837e8781b8336699 Mon Sep 17 00:00:00 2001
From: hbui <hong-phuc.bui@htwsaar.de>
Date: Fri, 19 Jul 2024 02:05:08 +0200
Subject: [PATCH] Graph Implementierung für die Aufgabe OK
---
stundenplan/src/pygraph/graphdemo.py | 3 +--
stundenplan/tests/pygraph/graphdemo.tests.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 49 insertions(+), 2 deletions(-)
diff --git a/stundenplan/src/pygraph/graphdemo.py b/stundenplan/src/pygraph/graphdemo.py
index 28bf931..4b999e8 100644
--- a/stundenplan/src/pygraph/graphdemo.py
+++ b/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:
diff --git a/stundenplan/tests/pygraph/graphdemo.tests.py b/stundenplan/tests/pygraph/graphdemo.tests.py
index 164c4ac..d8d1ba5 100644
--- a/stundenplan/tests/pygraph/graphdemo.tests.py
+++ b/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()
--
Gitblit v1.10.0