mirror of
https://github.com/donnemartin/interactive-coding-challenges
synced 2026-01-09 19:08:02 +00:00
@@ -154,9 +154,7 @@
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
@@ -241,9 +239,7 @@
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"%run graph.py"
|
||||
@@ -259,9 +255,7 @@
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
@@ -273,10 +267,10 @@
|
||||
],
|
||||
"source": [
|
||||
"%%writefile test_graph.py\n",
|
||||
"from nose.tools import assert_equal\n",
|
||||
"import unittest\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"class TestGraph(object):\n",
|
||||
"class TestGraph(unittest.TestCase):\n",
|
||||
"\n",
|
||||
" def create_graph(self):\n",
|
||||
" graph = Graph()\n",
|
||||
@@ -296,29 +290,29 @@
|
||||
" graph.add_edge(5, 4, weight=8)\n",
|
||||
" graph.add_edge(5, 2, weight=9)\n",
|
||||
"\n",
|
||||
" assert_equal(graph.nodes[0].adj_weights[graph.nodes[1].key], 5)\n",
|
||||
" assert_equal(graph.nodes[0].adj_weights[graph.nodes[5].key], 2)\n",
|
||||
" assert_equal(graph.nodes[1].adj_weights[graph.nodes[2].key], 3)\n",
|
||||
" assert_equal(graph.nodes[2].adj_weights[graph.nodes[3].key], 4)\n",
|
||||
" assert_equal(graph.nodes[3].adj_weights[graph.nodes[4].key], 5)\n",
|
||||
" assert_equal(graph.nodes[3].adj_weights[graph.nodes[5].key], 6)\n",
|
||||
" assert_equal(graph.nodes[4].adj_weights[graph.nodes[0].key], 7)\n",
|
||||
" assert_equal(graph.nodes[5].adj_weights[graph.nodes[4].key], 8)\n",
|
||||
" assert_equal(graph.nodes[5].adj_weights[graph.nodes[2].key], 9)\n",
|
||||
" self.assertEqual(graph.nodes[0].adj_weights[graph.nodes[1].key], 5)\n",
|
||||
" self.assertEqual(graph.nodes[0].adj_weights[graph.nodes[5].key], 2)\n",
|
||||
" self.assertEqual(graph.nodes[1].adj_weights[graph.nodes[2].key], 3)\n",
|
||||
" self.assertEqual(graph.nodes[2].adj_weights[graph.nodes[3].key], 4)\n",
|
||||
" self.assertEqual(graph.nodes[3].adj_weights[graph.nodes[4].key], 5)\n",
|
||||
" self.assertEqual(graph.nodes[3].adj_weights[graph.nodes[5].key], 6)\n",
|
||||
" self.assertEqual(graph.nodes[4].adj_weights[graph.nodes[0].key], 7)\n",
|
||||
" self.assertEqual(graph.nodes[5].adj_weights[graph.nodes[4].key], 8)\n",
|
||||
" self.assertEqual(graph.nodes[5].adj_weights[graph.nodes[2].key], 9)\n",
|
||||
"\n",
|
||||
" assert_equal(graph.nodes[0].incoming_edges, 1)\n",
|
||||
" assert_equal(graph.nodes[1].incoming_edges, 1)\n",
|
||||
" assert_equal(graph.nodes[2].incoming_edges, 2)\n",
|
||||
" assert_equal(graph.nodes[3].incoming_edges, 1)\n",
|
||||
" assert_equal(graph.nodes[4].incoming_edges, 2)\n",
|
||||
" assert_equal(graph.nodes[5].incoming_edges, 2)\n",
|
||||
" self.assertEqual(graph.nodes[0].incoming_edges, 1)\n",
|
||||
" self.assertEqual(graph.nodes[1].incoming_edges, 1)\n",
|
||||
" self.assertEqual(graph.nodes[2].incoming_edges, 2)\n",
|
||||
" self.assertEqual(graph.nodes[3].incoming_edges, 1)\n",
|
||||
" self.assertEqual(graph.nodes[4].incoming_edges, 2)\n",
|
||||
" self.assertEqual(graph.nodes[5].incoming_edges, 2)\n",
|
||||
"\n",
|
||||
" graph.nodes[0].remove_neighbor(graph.nodes[1])\n",
|
||||
" assert_equal(graph.nodes[1].incoming_edges, 0)\n",
|
||||
" self.assertEqual(graph.nodes[1].incoming_edges, 0)\n",
|
||||
" graph.nodes[3].remove_neighbor(graph.nodes[4])\n",
|
||||
" assert_equal(graph.nodes[4].incoming_edges, 1)\n",
|
||||
" self.assertEqual(graph.nodes[4].incoming_edges, 1)\n",
|
||||
"\n",
|
||||
" assert_equal(graph.nodes[0] < graph.nodes[1], True)\n",
|
||||
" self.assertEqual(graph.nodes[0] < graph.nodes[1], True)\n",
|
||||
"\n",
|
||||
" print('Success: test_graph')\n",
|
||||
"\n",
|
||||
@@ -328,12 +322,12 @@
|
||||
" graph.add_undirected_edge(0, 5, weight=2)\n",
|
||||
" graph.add_undirected_edge(1, 2, weight=3)\n",
|
||||
"\n",
|
||||
" assert_equal(graph.nodes[0].adj_weights[graph.nodes[1].key], 5)\n",
|
||||
" assert_equal(graph.nodes[1].adj_weights[graph.nodes[0].key], 5)\n",
|
||||
" assert_equal(graph.nodes[0].adj_weights[graph.nodes[5].key], 2)\n",
|
||||
" assert_equal(graph.nodes[5].adj_weights[graph.nodes[0].key], 2)\n",
|
||||
" assert_equal(graph.nodes[1].adj_weights[graph.nodes[2].key], 3)\n",
|
||||
" assert_equal(graph.nodes[2].adj_weights[graph.nodes[1].key], 3)\n",
|
||||
" self.assertEqual(graph.nodes[0].adj_weights[graph.nodes[1].key], 5)\n",
|
||||
" self.assertEqual(graph.nodes[1].adj_weights[graph.nodes[0].key], 5)\n",
|
||||
" self.assertEqual(graph.nodes[0].adj_weights[graph.nodes[5].key], 2)\n",
|
||||
" self.assertEqual(graph.nodes[5].adj_weights[graph.nodes[0].key], 2)\n",
|
||||
" self.assertEqual(graph.nodes[1].adj_weights[graph.nodes[2].key], 3)\n",
|
||||
" self.assertEqual(graph.nodes[2].adj_weights[graph.nodes[1].key], 3)\n",
|
||||
"\n",
|
||||
" print('Success: test_graph_undirected')\n",
|
||||
"\n",
|
||||
@@ -351,9 +345,7 @@
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
@@ -385,9 +377,9 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.4.3"
|
||||
"version": "3.7.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 0
|
||||
"nbformat_minor": 1
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user