diff --git a/HNS/Excercises/ShipCraft/Переделка/ShipField.py b/HNS/Excercises/ShipCraft/Переделка/ShipField.py index c82fe05..7acded4 100644 --- a/HNS/Excercises/ShipCraft/Переделка/ShipField.py +++ b/HNS/Excercises/ShipCraft/Переделка/ShipField.py @@ -1,4 +1,5 @@ from ShootResult import ShootResult +from ShipModeDirection import ShipMode, ShipDirection class ShipField: diff --git a/HNS/Excercises/ShipCraft/Переделка/ShipModeDirection.py b/HNS/Excercises/ShipCraft/Переделка/ShipModeDirection.py new file mode 100644 index 0000000..3d8e08e --- /dev/null +++ b/HNS/Excercises/ShipCraft/Переделка/ShipModeDirection.py @@ -0,0 +1,11 @@ +from enum import Enum + + +class ShipMode(Enum): + PUT = "PUT" + SHOOT = "SHOOT" + + +class ShipDirection(Enum): + VERTICAL = "VERTICAL" + HORIZONTAL = "HORIZONTAL" diff --git a/HNS/Excercises/ShipCraft/Переделка/__pycache__/test_ShipField.cpython-311.pyc b/HNS/Excercises/ShipCraft/Переделка/__pycache__/test_ShipField.cpython-311.pyc index caf4c6f..fe37947 100644 Binary files a/HNS/Excercises/ShipCraft/Переделка/__pycache__/test_ShipField.cpython-311.pyc and b/HNS/Excercises/ShipCraft/Переделка/__pycache__/test_ShipField.cpython-311.pyc differ diff --git a/HNS/Excercises/ShipCraft/Переделка/test_ShipField.py b/HNS/Excercises/ShipCraft/Переделка/test_ShipField.py index 6af2e04..cac78aa 100644 --- a/HNS/Excercises/ShipCraft/Переделка/test_ShipField.py +++ b/HNS/Excercises/ShipCraft/Переделка/test_ShipField.py @@ -115,10 +115,50 @@ class TestShipField(TestCase): self.assertEqual(new_field_string, old_field_string) def test_check_possible(self): - self.fail() + # arrangement установка + ship_field = ShipField() + ship_field.set_ship_size(4) + ship_field.set_ship_direction(1) + # action действие + ship_field.set_ship(5, 3) + # assertion проверка занятых + self.assertEqual(ship_field.check_possible(5, 3), False) + self.assertEqual(ship_field.check_possible(5, 4), False) + self.assertEqual(ship_field.check_possible(5, 5), False) + self.assertEqual(ship_field.check_possible(5, 6), False) + # проверка строки ниже + self.assertEqual(ship_field.check_possible(6, 3), False) + self.assertEqual(ship_field.check_possible(6, 4), False) + self.assertEqual(ship_field.check_possible(6, 5), False) + self.assertEqual(ship_field.check_possible(6, 6), False) + # проверка свободных ниже на 2 строки + self.assertEqual(ship_field.check_possible(7, 3), True) + self.assertEqual(ship_field.check_possible(7, 4), True) + self.assertEqual(ship_field.check_possible(7, 5), True) + self.assertEqual(ship_field.check_possible(7, 6), True) def test_check_blocked(self): - self.fail() + # arrangement установка + ship_field = ShipField() + ship_field.set_ship_size(4) + ship_field.set_ship_direction(1) + # action действие + ship_field.set_ship(5, 3) + # assertion проверка занятых + self.assertEqual(ship_field.check_blocked(5, 3), False) + self.assertEqual(ship_field.check_blocked(5, 4), False) + self.assertEqual(ship_field.check_blocked(5, 5), False) + self.assertEqual(ship_field.check_blocked(5, 6), False) + #проверка строки ниже + self.assertEqual(ship_field.check_blocked(6, 3), False) + self.assertEqual(ship_field.check_blocked(6, 4), False) + self.assertEqual(ship_field.check_blocked(6, 5), False) + self.assertEqual(ship_field.check_blocked(6, 7), False) + #проверка свободных ниже на 2 строки + self.assertEqual(ship_field.check_blocked(7, 3), True) + self.assertEqual(ship_field.check_blocked(7, 4), True) + self.assertEqual(ship_field.check_blocked(7, 5), True) + self.assertEqual(ship_field.check_blocked(7, 6), True) def test_set_ship_direction(self): ship_field = ShipField() # Заводим объект типа ShipField