From 2f05eb636ebe265af4bb373fd7a90c56e83b62bc Mon Sep 17 00:00:00 2001
From: Brandon Rodriguez <brodriguez8774@gmail.com>
Date: Tue, 3 Dec 2019 19:28:52 -0500
Subject: [PATCH] Create missing unit tests for directed_weighted graph

---
 .../directed_weighted_graph/__init__.py       |  0
 .../graphs/directed_weighted_graph/edge.py    | 24 ++++++++
 .../graphs/directed_weighted_graph/graph.py   | 56 +++++++++++++++++++
 .../graphs/directed_weighted_graph/node.py    | 24 ++++++++
 4 files changed, 104 insertions(+)
 create mode 100644 tests/resources/graphs/directed_weighted_graph/__init__.py
 create mode 100644 tests/resources/graphs/directed_weighted_graph/edge.py
 create mode 100644 tests/resources/graphs/directed_weighted_graph/graph.py
 create mode 100644 tests/resources/graphs/directed_weighted_graph/node.py

diff --git a/tests/resources/graphs/directed_weighted_graph/__init__.py b/tests/resources/graphs/directed_weighted_graph/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tests/resources/graphs/directed_weighted_graph/edge.py b/tests/resources/graphs/directed_weighted_graph/edge.py
new file mode 100644
index 0000000..5444b1a
--- /dev/null
+++ b/tests/resources/graphs/directed_weighted_graph/edge.py
@@ -0,0 +1,24 @@
+"""
+Date: 11-29-19
+Class: CS5310
+Assignment: Graph Library
+Author: Brandon Rodriguez
+
+
+Tests for "Directed, Weighted Edge" class.
+"""
+
+# System Imports.
+import unittest
+
+# User Class Imports.
+from resources import DirectedWeightedEdge, DirectedWeightedNode
+
+
+class TestDirectedWeightedEdge(unittest.TestCase):
+    def setUp(self):
+        self.test_edge = DirectedWeightedEdge('Test Edge')
+
+    def test__node_initialization(self):
+        self.assertEqual(self.test_edge._edge_type, DirectedWeightedEdge)
+        self.assertEqual(self.test_edge._node_type, DirectedWeightedNode)
diff --git a/tests/resources/graphs/directed_weighted_graph/graph.py b/tests/resources/graphs/directed_weighted_graph/graph.py
new file mode 100644
index 0000000..19121e8
--- /dev/null
+++ b/tests/resources/graphs/directed_weighted_graph/graph.py
@@ -0,0 +1,56 @@
+"""
+Date: 11-29-19
+Class: CS5310
+Assignment: Graph Library
+Author: Brandon Rodriguez
+
+
+Tests for "Directed, Weighted Graph" class.
+"""
+
+# System Imports.
+import unittest
+
+# User Class Imports.
+from resources import DirectedWeightedEdge, DirectedWeightedNode
+from resources import DirectedWeightedGraph
+
+
+class TestDirectedWeightedGraph(unittest.TestCase):
+    def setUp(self):
+        self.test_graph = DirectedWeightedGraph()
+
+    def test__node_initialization(self):
+        self.assertEqual(self.test_graph._edge_type, DirectedWeightedEdge)
+        self.assertEqual(self.test_graph._graph_type, DirectedWeightedGraph)
+        self.assertEqual(self.test_graph._node_type, DirectedWeightedNode)
+
+    def test__create(self):
+        # We have pretty thorough testing of the parent function.
+        # Thus, just test returned node is of "Directed, Weighted" type.
+        node_1 = self.test_graph.nodes.create()
+        self.assertTrue(isinstance(node_1, DirectedWeightedNode))
+
+    def test__remove(self):
+        # We have pretty thorough testing of the parent function.
+        # Thus, just test returned node is of "Directed, Weighted" type.
+        node_1 = self.test_graph.nodes.create()
+        node_1 = self.test_graph.nodes.remove(node_1)
+        self.assertTrue(isinstance(node_1, DirectedWeightedNode))
+
+    def test__connect(self):
+        # We have pretty thorough testing of the parent function.
+        # Thus, just test returned edge is of "Directed, Weighted" type.
+        node_1 = self.test_graph.nodes.create()
+        node_2 = self.test_graph.nodes.create()
+        edge_1 = self.test_graph.nodes.connect(node_1, node_2)
+        self.assertTrue(isinstance(edge_1, DirectedWeightedEdge))
+
+    def test__disconnect(self):
+        # We have pretty thorough testing of the parent function.
+        # Thus, just test returned edge is of "Directed, Weighted" type.
+        node_1 = self.test_graph.nodes.create()
+        node_2 = self.test_graph.nodes.create()
+        self.test_graph.nodes.connect(node_1, node_2)
+        edge_1 = self.test_graph.nodes.disconnect(node_1_identifier=node_1, node_2_identifier=node_2)
+        self.assertTrue(isinstance(edge_1, DirectedWeightedEdge))
diff --git a/tests/resources/graphs/directed_weighted_graph/node.py b/tests/resources/graphs/directed_weighted_graph/node.py
new file mode 100644
index 0000000..18c75ea
--- /dev/null
+++ b/tests/resources/graphs/directed_weighted_graph/node.py
@@ -0,0 +1,24 @@
+"""
+Date: 11-02-19
+Class: CS5310
+Assignment: Graph Library
+Author: Brandon Rodriguez
+
+
+Tests for "State Machine Node" class.
+"""
+
+# System Imports.
+import unittest
+
+# User Class Imports.
+from resources import DirectedWeightedEdge, DirectedWeightedNode
+
+
+class TestDirectedWeightedNode(unittest.TestCase):
+    def setUp(self):
+        self.test_node = DirectedWeightedNode('Test Node')
+
+    def test__node_initialization(self):
+        self.assertEqual(self.test_node._edge_type, DirectedWeightedEdge)
+        self.assertEqual(self.test_node._node_type, DirectedWeightedNode)
-- 
GitLab