コード例 #1
0
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)
コード例 #2
0
ファイル: serializers.py プロジェクト: elcolie/battleship
 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]
コード例 #3
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)
コード例 #4
0
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)
コード例 #5
0
def test_place_submarine_right_bottom(board):
    add_submarine(board, 1, 1, vertical=False)
    assert 1 == Fleet.objects.filter(occupied=True).count()
コード例 #6
0
def test_place_submarine_left_top_horizontal(board):
    add_submarine(board, 1, 1, vertical=False)
    assert 1 == Fleet.objects.filter(occupied=True).count()
コード例 #7
0
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)
コード例 #8
0
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)
コード例 #9
0
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)