test_helpers.py 1.83 KB
from tests.helpers.output_place_ships import *
from tests.helpers.attack_boards import *
import builtins

from src import task3_5

board3 = [[False, False, False], [False, False, False], [False, False, False]]
board10 = [[False, False, False, False, False, False, False, False, False, False],
           [False, False, False, False, False, False, False, False, False, False],
           [False, False, False, False, False, False, False, False, False, False],
           [False, False, False, False, False, False, False, False, False, False],
           [False, False, False, False, False, False, False, False, False, False],
           [False, False, False, False, False, False, False, False, False, False],
           [False, False, False, False, False, False, False, False, False, False],
           [False, False, False, False, False, False, False, False, False, False],
           [False, False, False, False, False, False, False, False, False, False],
           [False, False, False, False, False, False, False, False, False, False]]
board0 = []

output = ""
input_list = []
input_index = 0


def myprint(*args, **kwargs):
    global output
    output += " ".join(str(arg) for arg in args) + "\n"


class OutOfInputError(Exception):
    pass


def myinput(prompt):
    try:
        global input_index
        response = input_list[input_index]
        input_index += 1
    except IndexError:
        raise OutOfInputError
    return response


def intercept(func, inputs):
    global output, input_index, input_list
    input_list = inputs
    output = ""
    input_index = 0
    original_print = builtins.print
    original_input = builtins.input
    builtins.print = myprint
    builtins.input = myinput
    func()
    builtins.print = original_print
    builtins.input = original_input
    return output


def gogo_ask_coordinates():
    task3_5.ask_coordinates(board3)