def test_create_positions(self):
     # Test normal usage
     network = Constructor()
     network.set_grid(5, 5, 100)
     positions = network.get_positions()
     self.assertEqual(len(positions), 25)
     self.assertEqual(len(positions[0]), 2)
 def test_move_vertical_line(self):
     # Test normal usage
     network1 = Constructor()
     network1.set_grid(4, 4, 100)
     network1.move_vertical_line(3, 30)
     positions1 = network1.get_positions()
     for i in range(3, 16, 4):
         self.assertEqual(positions1[i][0], 330)
     network2 = Constructor()
     network2.set_grid(2, 2, 100)
     network2.move_vertical_line(1, 100)
     positions2 = network2.get_positions()
     for i in range(1, 4, 2):
         self.assertEqual(positions2[i][0], 200)
     # Test wrong usage
     with self.assertRaises(ValueError):
         network1.move_vertical_line(-1, 0)  # no such vertical line
     with self.assertRaises(ValueError):
         network2.move_vertical_line(2, 0)  # no such vertical line
 def test_move_horizontal_line(self):
     # Test normal usage
     network1 = Constructor()
     network1.set_grid(4, 4, 100)
     network1.move_horizontal_line(2, 50)
     positions1 = network1.get_positions()
     for i in range(2 * 4, 3 * 4):
         self.assertEqual(positions1[i][1], 250)
     network2 = Constructor()
     network2.set_grid(5, 5, 100)
     network2.move_horizontal_line(0, -10)
     positions2 = network2.get_positions()
     for i in range(0, 5):
         self.assertEqual(positions2[i][1], -10)
     # Test wrong usage
     with self.assertRaises(ValueError):  # no such horizontal line
         network1.move_horizontal_line(-1, 0)
     with self.assertRaises(ValueError):  # no such horizontal line
         network2.move_horizontal_line(5, 0)
 def test_delete_connection(self):
     # Test normal usage
     network = Constructor()
     network.set_grid(5, 5, 100)
     network.delete_connection(6, 7)
     network.delete_connection(7, 8)
     network.delete_connection(2, 11)
     network.delete_connection(2, 6)
     adjacency = network.get_adjacency()
     positions = network.get_positions()
     self.assertEqual(len(adjacency), 22)
     self.assertEqual(len(positions), 22)
     network.modify_adjacency(10, 0.5, 0.5)