def test_submarine_overlap_battle_ship(board): """ X : submarine Y : battleship Alignment: XYYYY :param board: :return: """ add_submarine(board, 5, 5, vertical=False) with pytest.raises(NearShipException): add_battleship(board, 5, 6, vertical=False)
def create(self, validated_data): # Add battleship if validated_data.get('fleet_type') == Fleet.FleetType.battleship: objs = add_battleship(validated_data.get('board'), validated_data.get('x_axis'), validated_data.get('y_axis'), validated_data.get('vertical')) elif validated_data.get('fleet_type') == Fleet.FleetType.cruiser: objs = add_cruiser(validated_data.get('board'), validated_data.get('x_axis'), validated_data.get('y_axis'), validated_data.get('vertical')) elif validated_data.get('fleet_type') == Fleet.FleetType.destroyer: objs = add_destroyer(validated_data.get('board'), validated_data.get('x_axis'), validated_data.get('y_axis'), validated_data.get('vertical')) else: # validated_data.get('fleet_type') == Fleet.FleetType.submarine: # With choices. I am sure it will be submarine objs = add_submarine(validated_data.get('board'), validated_data.get('x_axis'), validated_data.get('y_axis'), validated_data.get('vertical')) return objs[0]
def test_submarine_surrounding_horizontal_right(board): add_submarine(board, 5, 5, vertical=False) with pytest.raises(NearShipException): add_submarine(board, 6, 5, vertical=False)
def test_submarine_surrounding_vertical_upper(board): add_submarine(board, 5, 5, vertical=False) with pytest.raises(NearShipException): add_submarine(board, 5, 4, vertical=False)
def test_place_submarine_right_bottom(board): add_submarine(board, 1, 1, vertical=False) assert 1 == Fleet.objects.filter(occupied=True).count()
def test_place_submarine_left_top_horizontal(board): add_submarine(board, 1, 1, vertical=False) assert 1 == Fleet.objects.filter(occupied=True).count()
def test_battleship_horizontal_then_submarine_right_mid(board): add_battleship(board, 5, 5, vertical=False) with pytest.raises(NearShipException): add_submarine(board, 5 + settings.BATTLESHIP_SIZE, 5, vertical=False)
def test_battleship_horizontal_then_submarine_down_right(board): add_battleship(board, 5, 5, vertical=False) with pytest.raises(NearShipException): add_submarine(board, 5, 6, vertical=False)
def test_submarine_surrounding_down_left(board): add_submarine(board, 5, 5, vertical=False) with pytest.raises(NearShipException): add_submarine(board, 4, 6, vertical=False)