def is_terminal(self): """ Returns true if the state is a terminal state. """ # we have a terminal state if the game board is full free_position_cnt = self.board.count(None) if free_position_cnt == 0: return True lines = board_lines() for line_indexes in lines: line_items = [self.board[i] for i in line_indexes] if line_items.count(None) == 0 and util.is_unique(line_items): return line_items[0] return None
def test_is_unique_false(self): """ Should return false when a coll does not contain a unique element """ coll = [1, 1, 1, 1, 2] assert not util.is_unique(coll)
def test_is_unique_true(self): """ Should return true when coll contains a unique element """ coll = [1, 1, 1, 1] assert util.is_unique(coll) return