Пример #1
0
 def test_reassign_node_on_hub_removal(self):
     h = HubDispatch().add_hub('A', 'C').link('A', 'B').link('C', 'B')
     self.assertEqual(h._topology.nodes, {'A': 'A', 'B': 'A', 'C': 'C'})
     h._changes._clear()
     h.remove_hub('A')
     self.assertEqual(h._topology.nodes, {'B': 'C', 'C': 'C'})
     self.assertEqual(h._changes.unassignments, [('A', 'A'), ('A', 'B')])
     self.assertEqual(h._changes.assignments, [('C', 'B')])
Пример #2
0
 def test_remove_hub_with_lonely_links(self):
     h = HubDispatch().add_hub('foo').link('foo', 'bar')
     h._changes._clear()
     h.remove_hub('foo')
     self.assertEqual(h._topology.nodes, {})
     self.assertEqual(h._topology.hubs, {})
     self.assertEqual(h._changes.assignments, [])
     self.assertEqual(h._changes.unassignments, [('foo', 'foo'),
                                                 ('foo', 'bar')])
Пример #3
0
 def test_empty_graph(self):
     h = HubDispatch()
     with self.assertRaises(Exception) as exc:
         h.remove_hub('foo')
     self.assertEqual(exc.exception.message, "Hub 'foo' does not exist")
     with self.assertRaises(Exception) as exc:
         h.link('foo', 'bar')
     self.assertEqual(exc.exception.message, "Hub 'foo' does not exist")
     with self.assertRaises(Exception) as exc:
         h.unlink('foo', 'bar')
     self.assertEqual(exc.exception.message, "Hub 'foo' does not exist")
Пример #4
0
 def test_remove_hub_with_lonely_links(self):
     h = HubDispatch().add_hub('foo').link('foo', 'bar')
     h._changes._clear()
     h.remove_hub('foo')
     self.assertEqual(h._topology.nodes, {})
     self.assertEqual(h._topology.hubs, {})
     self.assertEqual(h._changes.assignments, [])
     self.assertEqual(h._changes.unassignments, [
         ('foo', 'foo'),
         ('foo', 'bar')
     ])
Пример #5
0
 def test_reassign_node_on_hub_removal(self):
     h = HubDispatch().add_hub('A', 'C').link('A', 'B').link('C', 'B')
     self.assertEqual(h._topology.nodes, {
         'A': 'A', 'B': 'A', 'C': 'C'
     })
     h._changes._clear()
     h.remove_hub('A')
     self.assertEqual(h._topology.nodes, {
         'B': 'C', 'C': 'C'
     })
     self.assertEqual(h._changes.unassignments, [('A', 'A'), ('A', 'B')])
     self.assertEqual(h._changes.assignments, [('C', 'B')])
Пример #6
0
 def test_remove_hub_following_hub(self):
     h = HubDispatch().add_hub('foo', 'bar').link('foo', 'bar')
     self.assertEqual(h._topology.nodes, {'bar': 'bar', 'foo': 'foo'})
     self.assertEqual(h._topology.hubs, {'foo': 1, 'bar': 1})
     self.assertEqual(h._changes.assignments, [('foo', 'foo'),
                                               ('bar', 'bar')])
     self.assertEqual(h._changes.unassignments, [])
     h._changes._clear()
     h.remove_hub('foo')
     self.assertEqual(h._topology.nodes, {'bar': 'bar'})
     self.assertEqual(h._topology.hubs, {'bar': 1})
     self.assertEqual(h._changes.assignments, [])
     self.assertEqual(h._changes.unassignments, [('foo', 'foo')])
Пример #7
0
 def test_remove_hub_following_hub(self):
     h = HubDispatch().add_hub('foo', 'bar').link('foo', 'bar')
     self.assertEqual(h._topology.nodes, {'bar': 'bar', 'foo': 'foo'})
     self.assertEqual(h._topology.hubs, {'foo': 1, 'bar': 1})
     self.assertEqual(h._changes.assignments, [
         ('foo', 'foo'), ('bar', 'bar')
     ])
     self.assertEqual(h._changes.unassignments, [])
     h._changes._clear()
     h.remove_hub('foo')
     self.assertEqual(h._topology.nodes, {'bar': 'bar'})
     self.assertEqual(h._topology.hubs, {'bar': 1})
     self.assertEqual(h._changes.assignments, [])
     self.assertEqual(h._changes.unassignments, [('foo', 'foo')])
Пример #8
0
 def test_empty_graph(self):
     h = HubDispatch()
     with self.assertRaises(Exception) as exc:
         h.remove_hub('foo')
     self.assertEqual(
         exc.exception.message,
         "Hub 'foo' does not exist"
     )
     with self.assertRaises(Exception) as exc:
         h.link('foo', 'bar')
     self.assertEqual(
         exc.exception.message,
         "Hub 'foo' does not exist"
     )
     with self.assertRaises(Exception) as exc:
         h.unlink('foo', 'bar')
     self.assertEqual(
         exc.exception.message,
         "Hub 'foo' does not exist"
     )