def test_input_with_a_number_of_lines_that_is_not_a_multiple_of_four_raises_an_error(
     self, ):
     with self.assertRaises(ValueError) as err:
         convert([" _ ", "| |", "   "])
     self.assertEqual(type(err.exception), ValueError)
     self.assertEqual(err.exception.args[0],
                      "Number of input lines is not a multiple of four")
 def test_input_with_a_number_of_columns_that_is_not_a_multiple_of_three_raises_an_error(
     self, ):
     with self.assertRaises(ValueError) as err:
         convert(["    ", "   |", "   |", "    "])
     self.assertEqual(type(err.exception), ValueError)
     self.assertEqual(err.exception.args[0],
                      "Number of input columns is not a multiple of three")
Example #3
0
 def test_recognizes_numbers_separated_by_empty_lines(self):
     input_grid = [
         "    _  _ ", "  | _| _|", "  ||_  _|", "         ", "    _  _ ",
         "|_||_ |_ ", "  | _||_|", "         ", " _  _  _ ", "  ||_||_|",
         "  ||_| _|", "         "
     ]
     self.assertEqual(convert(input_grid), "123,456,789")
Example #4
0
 def test_garbled_numbers_in_string(self):
     input_grid = [
         "       _     _           _ ",
         "  |  || |  || |     || || |",
         "  |  | _|  ||_|  |  ||_||_|",
         "                           "
     ]
     self.assertEqual(convert(input_grid), "11?10?1?0")
Example #5
0
 def test_garbled_numbers_in_string(self):
     input_grid = [
         "       _     _           _ ",
         "  |  || |  || |     || || |",
         "  |  | _|  ||_|  |  ||_||_|",
         "                           "
     ]
     self.assertEqual(convert(input_grid), "11?10?1?0")
Example #6
0
 def test_recognizes_110101100(self):
     input_grid = [
         "       _     _        _  _ ",
         "  |  || |  || |  |  || || |",
         "  |  ||_|  ||_|  |  ||_||_|",
         "                           "
     ]
     self.assertEqual(convert(input_grid), "110101100")
Example #7
0
 def test_recognizes_string_of_decimal_numbers(self):
     input_grid = [
         "    _  _     _  _  _  _  _  _ ",
         "  | _| _||_||_ |_   ||_||_|| |",
         "  ||_  _|  | _||_|  ||_| _||_|",
         "                              "
     ]
     self.assertEqual(convert(input_grid), "1234567890")
Example #8
0
 def test_recognizes_110101100(self):
     input_grid = [
         "       _     _        _  _ ",
         "  |  || |  || |  |  || || |",
         "  |  ||_|  ||_|  |  ||_||_|",
         "                           "
     ]
     self.assertEqual(convert(input_grid), "110101100")
Example #9
0
 def test_recognizes_string_of_decimal_numbers(self):
     input_grid = [
         "    _  _     _  _  _  _  _  _ ",
         "  | _| _||_||_ |_   ||_||_|| |",
         "  ||_  _|  | _||_|  ||_| _||_|",
         "                              "
     ]
     self.assertEqual(convert(input_grid), "1234567890")
 def test_recognizes_110101100(self):
     self.assertEqual(
         convert([
             "       _     _        _  _ ",
             "  |  || |  || |  |  || || |",
             "  |  ||_|  ||_|  |  ||_||_|",
             "                           ",
         ]),
         "110101100",
     )
 def test_garbled_numbers_in_a_string_are_replaced_with(self):
     self.assertEqual(
         convert([
             "       _     _           _ ",
             "  |  || |  || |     || || |",
             "  |  | _|  ||_|  |  ||_||_|",
             "                           ",
         ]),
         "11?10?1?0",
     )
 def test_recognizes_string_of_decimal_numbers(self):
     self.assertEqual(
         convert([
             "    _  _     _  _  _  _  _  _ ",
             "  | _| _||_||_ |_   ||_||_|| |",
             "  ||_  _|  | _||_|  ||_| _||_|",
             "                              ",
         ]),
         "1234567890",
     )
Example #13
0
 def test_recognizes_numbers_separated_by_empty_lines(self):
     input_grid = [
         "    _  _ ",
         "  | _| _|",
         "  ||_  _|",
         "         ",
         "    _  _ ",
         "|_||_ |_ ",
         "  | _||_|",
         "         ",
         " _  _  _ ",
         "  ||_||_|",
         "  ||_| _|",
         "         "
     ]
     self.assertEqual(convert(input_grid), "123,456,789")
 def test_numbers_separated_by_empty_lines_are_recognized_lines_are_joined_by_commas(
         self):
     self.assertEqual(
         convert([
             "    _  _ ",
             "  | _| _|",
             "  ||_  _|",
             "         ",
             "    _  _ ",
             "|_||_ |_ ",
             "  | _||_|",
             "         ",
             " _  _  _ ",
             "  ||_||_|",
             "  ||_| _|",
             "         ",
         ]),
         "123,456,789",
     )
Example #15
0
 def test_recognizes_0(self):
     self.assertEqual(convert([" _ ",
                               "| |",
                               "|_|",
                               "   "]), '0')
Example #16
0
 def test_line_number_not_multiple_of_four(self):
     with self.assertRaisesWithMessage(ValueError):
         convert([" _ ",
                  "| |",
                  "   "])
Example #17
0
 def test_col_number_not_multiple_of_three(self):
     with self.assertRaisesWithMessage(ValueError):
         convert(["    ",
                  "   |",
                  "   |",
                  "    "])
Example #18
0
 def test_recognizes_4(self):
     self.assertEqual(convert(["   ",
                               "|_|",
                               "  |",
                               "   "]), "4")
Example #19
0
 def test_recognizes_3(self):
     self.assertEqual(convert([" _ ",
                               " _|",
                               " _|",
                               "   "]), "3")
Example #20
0
 def test_unreadable(self):
     self.assertEqual(convert(["   ",
                               "  _",
                               "  |",
                               "   "]), '?')
 def test_input_with_a_number_of_columns_that_is_not_a_multiple_of_three_raises_an_error(
         self):
     with self.assertRaisesWithMessage(ValueError):
         convert(["    ", "   |", "   |", "    "])
Example #22
0
 def test_recognizes_6(self):
     self.assertEqual(convert([" _ ",
                               "|_ ",
                               "|_|",
                               "   "]), "6")
Example #23
0
 def test_line_number_not_multiple_of_four(self):
     with self.assertRaisesWithMessage(ValueError):
         convert([" _ ",
                  "| |",
                  "   "])
Example #24
0
 def test_recognizes_1(self):
     self.assertEqual(convert(["   ",
                               "  |",
                               "  |",
                               "   "]), '1')
Example #25
0
 def test_recognizes_0(self):
     self.assertEqual(convert([" _ ",
                               "| |",
                               "|_|",
                               "   "]), '0')
Example #26
0
 def test_recognizes_7(self):
     self.assertEqual(convert([" _ ",
                               "  |",
                               "  |",
                               "   "]), "7")
Example #27
0
 def test_unreadable(self):
     self.assertEqual(convert(["   ",
                               "  _",
                               "  |",
                               "   "]), '?')
Example #28
0
 def test_recognizes_3(self):
     self.assertEqual(convert([" _ ",
                               " _|",
                               " _|",
                               "   "]), "3")
Example #29
0
 def test_col_number_not_multiple_of_three(self):
     with self.assertRaisesWithMessage(ValueError):
         convert(["    ",
                  "   |",
                  "   |",
                  "    "])
Example #30
0
 def test_recognizes_6(self):
     self.assertEqual(convert([" _ ",
                               "|_ ",
                               "|_|",
                               "   "]), "6")
 def test_unreadable_but_correctly_sized_inputs_return(self):
     self.assertEqual(convert(["   ", "  _", "  |", "   "]), "?")
Example #32
0
 def test_recognizes_1(self):
     self.assertEqual(convert(["   ",
                               "  |",
                               "  |",
                               "   "]), '1')
Example #33
0
 def test_recognizes_4(self):
     self.assertEqual(convert(["   ",
                               "|_|",
                               "  |",
                               "   "]), "4")
 def test_input_with_a_number_of_lines_that_is_not_a_multiple_of_four_raises_an_error(
         self):
     with self.assertRaisesWithMessage(ValueError):
         convert([" _ ", "| |", "   "])
Example #35
0
 def test_recognizes_7(self):
     self.assertEqual(convert([" _ ",
                               "  |",
                               "  |",
                               "   "]), "7")
Example #36
0
 def test_unreadable_but_correctly_sized(self):
     self.assertEqual(convert(["   ",
                               "  _",
                               "  |",
                               "   "]), '?')