def setUp(self):
        self.default_file_content = [
            "<config>"
            + "<inputType>TXT</inputType>"
            + "<outputType>Console</outputType>"
            + "<defaultAlgorithm>Backtracking</defaultAlgorithm>"
            + "<difficultyLevel>Low</difficultyLevel>"
            + "</config>"
        ]

        self.xml_default_file = "config_default.xml"

        with open(self.xml_default_file, "w") as rawfile:
            rawfile.write(self.default_file_content[0])

        self.default_file_handler_xml = FileHandlerXML(self.xml_default_file)

        self.expected_tuple_from_default_file = ("TXT", "Console", "Backtracking", "Low")
        self.interactive_console = SudokuConsoleUserInterface(self.default_file_handler_xml)
class TestSudokuConsoleUserInterface(unittest.TestCase):
    def setUp(self):
        self.default_file_content = [
            "<config>"
            + "<inputType>TXT</inputType>"
            + "<outputType>Console</outputType>"
            + "<defaultAlgorithm>Backtracking</defaultAlgorithm>"
            + "<difficultyLevel>Low</difficultyLevel>"
            + "</config>"
        ]

        self.xml_default_file = "config_default.xml"

        with open(self.xml_default_file, "w") as rawfile:
            rawfile.write(self.default_file_content[0])

        self.default_file_handler_xml = FileHandlerXML(self.xml_default_file)

        self.expected_tuple_from_default_file = ("TXT", "Console", "Backtracking", "Low")
        self.interactive_console = SudokuConsoleUserInterface(self.default_file_handler_xml)

    def test_default_game_should_print_default_config_values_in_Console(self):
        default_game_selected = SudokuConsoleUserInterface(self.default_file_handler_xml)
        defaul_tuple_from_file = (
            default_game_selected.config.inputType,
            default_game_selected.config.outputType,
            default_game_selected.config.defaultAlgorithm,
            default_game_selected.config.difficultyLevel,
        )
        self.assertEqual(self.expected_tuple_from_default_file, defaul_tuple_from_file)

    def test_that_the_mesage_is_dislayed_with_massege_format(self):
        input_mesage = "Example message"
        self.assertEqual(mesage(input_mesage), self.interactive_console.mesage(input_mesage))

    def test_that_the_mesage_is_dislayed_with_header_format(self):
        input_mesage = "Example message"
        self.assertEqual(mesage(input_mesage), self.interactive_console.header(input_mesage))

    def test_that_the_return_h_m_s_return_the_current_time_as_float(self):
        current_time, h, m, s = self.interactive_console.return_h_m_s()
        self.assertEqual(type(current_time), float)

    def test_that_the_return_h_m_s_return_the_seconds_lower_or_equal_to_60(self):
        current_time, h, m, s = self.interactive_console.return_h_m_s()
        self.assertTrue(s <= 60)

    def test_that_the_return_h_m_s_return_the_minutes_lower_or_equal_to_60(self):
        current_time, h, m, s = self.interactive_console.return_h_m_s()
        self.assertTrue(m <= 60)

    def test_that_the_return_h_m_s_return_the_hours_type_is_float(self):
        current_time, h, m, s = self.interactive_console.return_h_m_s()
        self.assertEqual(type(h), float)

    def test_that_the_return_h_m_s_return_the_hours_type_is_float_when_is_loaded_is_true(self):
        self.interactive_console.loaded_game == True
        current_time, h, m, s = self.interactive_console.return_h_m_s()
        self.assertEqual(type(h), float)

    def test_option_1_return_default_configuration(self):
        default_game_selected = SudokuConsoleUserInterface(self.default_file_handler_xml)
        self.assertIsInstance(default_game_selected, SudokuConsoleUserInterface)