# Path: betago/scoring.py
# class Territory(object):
#     def __init__(self, territory_map):
# def evaluate_territory(board):
# def _collect_region(start_pos, board, visited=None):
# 
# Path: betago/dataloader/goboard.py
# class GoBoard(object):
# class BoardSequence(object):
# class GoString(object):
#     def __init__(self, board_size=19):
#     def fold_go_strings(self, target, source, join_position):
#     def add_adjacent_liberty(self, pos, go_string):
#     def is_move_on_board(self, move):
#     def is_move_suicide(self, color, pos):
#     def is_move_legal(self, color, pos):
#     def create_go_string(self, color, pos):
#     def other_color(self, color):
#     def is_simple_ko(self, play_color, pos):
#     def check_enemy_liberty(self, play_color, enemy_pos, our_pos):
#     def apply_move(self, play_color, pos):
#     def add_liberty_to_adjacent_string(self, string_pos, liberty_pos, color):
#     def fold_our_moves(self, first_string, color, pos, join_position):
#     def __str__(self):
#     def __init__(self, board_size=19):
#     def insert(self, combo):
#     def erase(self, combo):
#     def exists(self, combo):
#     def size(self):
#     def __getitem__(self, iid):
#     def __str__(self):
#     def __init__(self, board_size, color):
#     def get_stone(self, index):
#     def get_liberty(self, index):
#     def insert_stone(self, combo):
#     def get_num_stones(self):
#     def remove_liberty(self, combo):
#     def get_num_liberties(self):
#     def insert_liberty(self, combo):
#     def copy_liberties_from(self, source):
#     def __str__(self):
# def from_string(board_string):
# def to_string(board):


import unittest
from betago import scoring
from betago.dataloader import goboard



class ScoringTestCase(unittest.TestCase):
    def test_identify_territory(self):
        board = goboard.from_string('''
            ...b..w..

# Path: betago/scoring.py
# class Territory(object):
#     def __init__(self, territory_map):
# def evaluate_territory(board):
# def _collect_region(start_pos, board, visited=None):
# 
# Path: betago/dataloader/goboard.py
# class GoBoard(object):
# class BoardSequence(object):
# class GoString(object):
#     def __init__(self, board_size=19):
#     def fold_go_strings(self, target, source, join_position):
#     def add_adjacent_liberty(self, pos, go_string):
#     def is_move_on_board(self, move):
#     def is_move_suicide(self, color, pos):
#     def is_move_legal(self, color, pos):
#     def create_go_string(self, color, pos):
#     def other_color(self, color):
#     def is_simple_ko(self, play_color, pos):
#     def check_enemy_liberty(self, play_color, enemy_pos, our_pos):
#     def apply_move(self, play_color, pos):
#     def add_liberty_to_adjacent_string(self, string_pos, liberty_pos, color):
#     def fold_our_moves(self, first_string, color, pos, join_position):
#     def __str__(self):
#     def __init__(self, board_size=19):
#     def insert(self, combo):
#     def erase(self, combo):
#     def exists(self, combo):
#     def size(self):
#     def __getitem__(self, iid):
#     def __str__(self):
#     def __init__(self, board_size, color):
#     def get_stone(self, index):
#     def get_liberty(self, index):
#     def insert_stone(self, combo):
#     def get_num_stones(self):
#     def remove_liberty(self, combo):
#     def get_num_liberties(self):
#     def insert_liberty(self, combo):
#     def copy_liberties_from(self, source):
#     def __str__(self):
# def from_string(board_string):
# def to_string(board):


# Path: tests/scoring_test.py
import unittest
from betago import scoring
from betago.dataloader import goboard




class ScoringTestCase(unittest.TestCase):
    def test_identify_territory(self):
        board = goboard.from_string('''
            ...b..w..

            ...b..w..