def test_different_color_and_shape(): board = Board() tile1 = Tile(Color.RED, Shape.X) tile2 = Tile(Color.GREEN, Shape.CIRCLE) move = [(Position(0, 0), tile1), (Position(0, 1), tile2)] result = board.is_allowed(move) assert not result
def testRepeatedMovePosition(): tile1 = Tile(Color.RED, Shape.CIRCLE) tile2 = Tile(Color.RED, Shape.CLOVER) board = Board() move = [(Position(0, 0), tile1), (Position(0, 0), tile2)] result = board.is_allowed(move) assert not result
def test_non_contiguous2(): board = Board() tile1 = Tile(Color.RED, Shape.X) tile2 = Tile(Color.RED, Shape.CIRCLE) move = [(Position(0, 0), tile1), (Position(2, 0), tile2)] result = board.is_allowed(move) assert not result
def test_duplicate_position(): board = Board() tile1 = Tile(Color.RED, Shape.X) tile2 = Tile(Color.RED, Shape.DIAMOND) move = [(Position(0, 0), tile1), (Position(0, 0), tile2)] result = board.is_allowed(move) assert not result
def testMoveOvershadowsExistingTile(): tile1 = Tile(Color.RED, Shape.CIRCLE) tile2 = Tile(Color.RED, Shape.CLOVER) board = Board([(Position(0, 0), tile1), (Position(0, 1), tile2)]) tile1 = Tile(Color.RED, Shape.DIAMOND) tile2 = Tile(Color.RED, Shape.SQUARE) move = [(Position(0, 1), tile1), (Position(1, 1), tile2)] result = board.is_allowed(move) assert not result
def test_illegal_multi_tile_column(): tile1 = Tile(Color.RED, Shape.X) tile2 = Tile(Color.RED, Shape.CIRCLE) board = Board([(Position(0, 0), tile1), (Position(0, 1), tile2)]) tile1 = Tile(Color.YELLOW, Shape.X) tile2 = Tile(Color.YELLOW, Shape.CLOVER) result = board.is_allowed([(Position(1, 0), tile1), (Position(1, 1), tile2)]) assert not result
def test_second_column_strike(): tile1 = Tile(Color.RED, Shape.CIRCLE) tile2 = Tile(Color.RED, Shape.CLOVER) tile3 = Tile(Color.RED, Shape.DIAMOND) tile4 = Tile(Color.RED, Shape.CLOVER) placements = [(Position(0, 1), tile1), (Position(0, 0), tile2), (Position(0, -1), tile3), (Position(1, -1), tile4)] board = Board(placements) tile5 = Tile(Color.RED, Shape.CLOVER) tile6 = Tile(Color.RED, Shape.CIRCLE) move = [(Position(1, 1), tile5), (Position(1, 2), tile6)] result = board.is_allowed(move) assert result
def test_origin_diagonal(two_tiles): board = Board() move = [(Position(1, 1), two_tiles[0]), (Position(0, 0), two_tiles[1])] result = board.is_allowed(move) assert not result
def test_origin_down(two_tiles): board = Board() move = [(Position(0, 0), two_tiles[0]), (Position(0, -1), two_tiles[1])] result = board.is_allowed(move) assert result
def test_one_tile_belove_left_off_center(one_tile): board = Board() move = (Position(-1, -1), one_tile) result = board.is_allowed([move]) assert not result
def test_one_tile_above_right_off_center(one_tile): board = Board() move = (Position(1, 1), one_tile) result = board.is_allowed([move]) assert not result
def test_one_tile_in_cener(one_tile): board = Board() move = (Position(0, 0), one_tile) result = board.is_allowed([move]) assert result