def test_add_node_link(self): g = GraphBackend() g.add_hub('foo') with self.assertRaises(Exception) as exc: g.link('foo', 'foo') self.assertEqual( exc.exception.message, "Hub can't be linked to itself" ) g.link('foo', 'bar') self.assertFalse(g.is_hub('bar')) self.assertEqual(g.hubs(), set(['foo'])) self.assertEqual(g.links('foo'), set(['bar'])) self.assertEqual(g.hub_links('foo'), set(['bar'])) with self.assertRaises(Exception) as exc: g.hub_links('bar') self.assertEqual( exc.exception.message, "Hub 'bar' does not exist" ) with self.assertRaises(Exception) as exc: g.link('foo', 'bar') self.assertEqual( exc.exception.message, "Hub 'foo' is already connected to node 'bar'" )
def test_remove_hub_without_link(self): g = GraphBackend() with self.assertRaises(Exception) as exc: g.remove_hub('foo') self.assertEqual(exc.exception.message, "Hub 'foo' does not exist") g.add_hub('foo') g.remove_hub('foo') # ensure hub is deleted self.assertFalse(g.is_hub('foo')) self.assertEqual(g.hubs(), set()) # try to unlink a node from 'foo' with self.assertRaises(Exception) as exc: g.unlink('foo', 'bar') self.assertEqual(exc.exception.message, "Hub 'foo' does not exist")
def test_add_hub(self): g = GraphBackend() g.add_hub('foo') self.assertTrue(g.is_hub('foo')) self.assertEqual(g.hubs(), set(['foo'])) self.assertEqual(g.links('foo'), set()) self.assertEqual(g.hub_links('foo'), set()) with self.assertRaises(Exception) as exc: g.add_hub('foo') self.assertEqual(exc.exception.message, "Hub 'foo' already exists") with self.assertRaises(Exception) as exc: g.unlink('foo', 'bar') self.assertEqual(exc.exception.message, "Hub 'foo' is not connected to node 'bar'")
def test_remove_node_link(self): g = GraphBackend() g.add_hub('foo') g.link('foo', 'bar') self.assertEqual(g.links('foo'), set(['bar'])) self.assertEqual(g.links('bar'), set(['foo'])) with self.assertRaises(Exception) as exc: g.remove_hub('foo') self.assertEqual(exc.exception.message, "Can't remove hub with connected nodes") g.unlink('foo', 'bar') self.assertTrue(g.is_hub('foo')) self.assertFalse(g.is_hub('bar')) self.assertEqual(g.hubs(), set(['foo'])) self.assertEqual(g.links('foo'), set())
def test_remove_node_link(self): g = GraphBackend() g.add_hub('foo') g.link('foo', 'bar') self.assertEqual(g.links('foo'), set(['bar'])) self.assertEqual(g.links('bar'), set(['foo'])) with self.assertRaises(Exception) as exc: g.remove_hub('foo') self.assertEqual( exc.exception.message, "Can't remove hub with connected nodes" ) g.unlink('foo', 'bar') self.assertTrue(g.is_hub('foo')) self.assertFalse(g.is_hub('bar')) self.assertEqual(g.hubs(), set(['foo'])) self.assertEqual(g.links('foo'), set())
def test_add_hub(self): g = GraphBackend() g.add_hub('foo') self.assertTrue(g.is_hub('foo')) self.assertEqual(g.hubs(), set(['foo'])) self.assertEqual(g.links('foo'), set()) self.assertEqual(g.hub_links('foo'), set()) with self.assertRaises(Exception) as exc: g.add_hub('foo') self.assertEqual( exc.exception.message, "Hub 'foo' already exists" ) with self.assertRaises(Exception) as exc: g.unlink('foo', 'bar') self.assertEqual( exc.exception.message, "Hub 'foo' is not connected to node 'bar'" )
def test_add_node_link(self): g = GraphBackend() g.add_hub('foo') with self.assertRaises(Exception) as exc: g.link('foo', 'foo') self.assertEqual(exc.exception.message, "Hub can't be linked to itself") g.link('foo', 'bar') self.assertFalse(g.is_hub('bar')) self.assertEqual(g.hubs(), set(['foo'])) self.assertEqual(g.links('foo'), set(['bar'])) self.assertEqual(g.hub_links('foo'), set(['bar'])) with self.assertRaises(Exception) as exc: g.hub_links('bar') self.assertEqual(exc.exception.message, "Hub 'bar' does not exist") with self.assertRaises(Exception) as exc: g.link('foo', 'bar') self.assertEqual(exc.exception.message, "Hub 'foo' is already connected to node 'bar'")
def test_remove_hub_without_link(self): g = GraphBackend() with self.assertRaises(Exception) as exc: g.remove_hub('foo') self.assertEqual( exc.exception.message, "Hub 'foo' does not exist" ) g.add_hub('foo') g.remove_hub('foo') # ensure hub is deleted self.assertFalse(g.is_hub('foo')) self.assertEqual(g.hubs(), set()) # try to unlink a node from 'foo' with self.assertRaises(Exception) as exc: g.unlink('foo', 'bar') self.assertEqual( exc.exception.message, "Hub 'foo' does not exist" )