def test_2_no_wrapparound(self): vm = VirtualMachine(height=2, width=2, with_wrap_arounds=False) self.assertEqual(vm.max_chip_x, 1) self.assertEqual(vm.max_chip_y, 1) self.assertEqual(4, vm.n_chips) self.assertEqual(1, len(vm.ethernet_connected_chips)) self.assertFalse(vm.is_link_at(0, 0, 5)) self.assertFalse(vm.is_link_at(0, 1, 2)) self.assertFalse(vm.is_link_at(0, 0, 4)) self.assertFalse(vm.is_link_at(0, 1, 3)) count = 0 for _chip in vm.chips: for _link in _chip.router.links: count += 1 self.assertEqual(10, count)
def test_2_with_wrapparound(self): vm = VirtualMachine(height=2, width=2, with_wrap_arounds=True) self.assertEqual(vm.max_chip_x, 1) self.assertEqual(vm.max_chip_y, 1) self.assertEqual(4, vm.n_chips) self.assertEqual(1, len(vm.ethernet_connected_chips)) self.assertTrue(vm.is_link_at(0, 0, 5)) self.assertTrue(vm.is_link_at(0, 1, 2)) self.assertTrue(vm.is_link_at(0, 0, 4)) self.assertTrue(vm.is_link_at(0, 1, 3)) # Test that the chip south of 0, 0 is 0, 1 (with wrap around) chip = vm.get_chip_at(0, 0) link = chip.router.get_link(5) self.assertEqual(link.destination_x, 0) self.assertEqual(link.destination_y, 1) count = sum(1 for _chip in vm.chips for _link in _chip.router.links) self.assertEqual(24, count)
def test_version_5_hole(self): hole = [(3, 3)] vm = VirtualMachine(version=5, down_chips=hole) self.assertEqual(vm.max_chip_x, 7) self.assertEqual(vm.max_chip_y, 7) self.assertEqual(47, vm.n_chips) self.assertEqual(1, len(vm.ethernet_connected_chips)) self.assertFalse(vm.is_link_at(3, 3, 2)) self.assertFalse(vm.is_link_at(3, 2, 2)) count = sum(1 for _chip in vm.chips for _link in _chip.router.links) self.assertEqual(228, count)
def test_version_2(self): vm = VirtualMachine(version=2, with_wrap_arounds=None) self.assertEqual(vm.max_chip_x, 1) self.assertEqual(vm.max_chip_y, 1) self.assertEqual(4, vm.n_chips) self.assertTrue(vm.is_chip_at(0, 0)) self.assertTrue(vm.is_chip_at(0, 1)) self.assertTrue(vm.is_chip_at(1, 0)) self.assertTrue(vm.is_chip_at(1, 1)) self.assertEqual(1, len(vm.ethernet_connected_chips)) self.assertTrue(vm.is_link_at(0, 0, 0)) self.assertTrue(vm.is_link_at(0, 0, 1)) self.assertTrue(vm.is_link_at(0, 0, 2)) self.assertFalse(vm.is_link_at(0, 0, 3)) self.assertFalse(vm.is_link_at(0, 0, 4)) self.assertTrue(vm.is_link_at(0, 0, 5)) self.assertTrue(vm.is_link_at(0, 1, 0)) self.assertTrue(vm.is_link_at(0, 1, 1)) self.assertTrue(vm.is_link_at(0, 1, 2)) self.assertFalse(vm.is_link_at(0, 1, 3)) self.assertFalse(vm.is_link_at(0, 1, 4)) self.assertTrue(vm.is_link_at(0, 1, 5)) self.assertFalse(vm.is_link_at(1, 0, 0)) self.assertFalse(vm.is_link_at(1, 0, 1)) self.assertTrue(vm.is_link_at(1, 0, 2)) self.assertTrue(vm.is_link_at(1, 0, 3)) self.assertTrue(vm.is_link_at(1, 0, 4)) self.assertTrue(vm.is_link_at(1, 0, 5)) self.assertFalse(vm.is_link_at(1, 1, 0)) self.assertFalse(vm.is_link_at(1, 1, 1)) self.assertTrue(vm.is_link_at(1, 1, 2)) self.assertTrue(vm.is_link_at(1, 1, 3)) self.assertTrue(vm.is_link_at(1, 1, 4)) self.assertTrue(vm.is_link_at(1, 1, 5)) count = 0 for _chip in vm.chips: for _link in _chip.router.links: count += 1 self.assertEqual(16, count) self.assertEqual(str(vm), "[VirtualMachine: max_x=1, max_y=1, n_chips=4]") self.assertEqual(vm.get_cores_and_link_count(), (72, 8)) count = 0 for _chip in vm.get_chips_on_board(vm.get_chip_at(1, 1)): count += 1 self.assertEqual(4, count)