def test_empty_stock(start: int, end: int, expected_valid: bool, reason: str):
    board = SploofState("""\
  A C E G
7 R R . . 7

5 R . . R 5

3 R W W R 3

1 R R R R 1
  A C E G
>W(0,6)
""")
    valid_moves = board.get_valid_moves()
    for move in range(start, end):
        assert valid_moves[move] == expected_valid, move
def test_valid_moves(start: int, end: int, expected_valid: bool, reason: str):
    board = SploofState("""\
  A C E G
7 R R R R 7

5 . . . . 5

3 R W B R 3

1 R R R R 1
  A C E G
   B D F
 6 . . . 6

 4 . . . 4

 2 W B . 2
   B D F
>W(2,2)
""")
    valid_moves = board.get_valid_moves()
    for move in range(start, end):
        assert valid_moves[move] == expected_valid, move