Exemplo n.º 1
0
class AutoTester():

    def __init__(self, code, file_name, reuse_file=None):
        self.code = code
        self.file_name = file_name
        self.compiler = None
        self.reuse_file = False if reuse_file is None else reuse_file

    def compare(self, input, expected_output):

        if self.compiler is None:

            self.compiler = Compiler(self.code, self.file_name, input, self.reuse_file)
        else:
            self.compiler.change_input(input)

        output = self.compiler.compile()
        return self.__compare_outputs(output.strip(), expected_output.strip())

    @staticmethod
    def __compare_outputs(expected_output, actual_output):
        return cmp(expected_output.split(), actual_output.split()) == 0

    def remove_file(self):
        self.compiler.remove_file()