def test_0010110(self): self.assertEqual( '0010110', number([ " _ _ _ _ ", "| || | || | | || |", "|_||_| ||_| | ||_|", " " ]))
def test_garble_middle(self): self.assertEqual( '12?45', number([ " _ _ _ ", " | _| ||_||_ ", " ||_ _| | _|", " " ]))
def test_garble_middle(self): self.assertEqual( number([ " _ _ _ ", " | _| ||_||_ ", " ||_ _| | _|", " " ]), '12?45')
def test_0010110(self): self.assertEqual( number([ " _ _ _ _ ", "| || | || | | || |", "|_||_| ||_| | ||_|", " " ]), '0010110')
def test_3186547290(self): digits = '3186547290' self.assertEqual( number([ " _ _ _ _ _ _ _ _ ", " _| ||_||_ |_ |_| | _||_|| |", " _| ||_||_| _| | ||_ _||_|", " " ]), digits)
def test_Lost(self): digits = '4815162342' self.assertEqual( number([ " _ _ _ _ _ _ ", "|_||_| ||_ ||_ _| _||_| _|", " ||_| | _| ||_||_ _| ||_ ", " " ]), digits)
def test_0(self): self.assertEqual(number([" _ ", "| |", "|_|", " "]), '0')
def test_insufficient_rows(self): with self.assertRaises(ValueError): number([" ", " _|", " X|"])
def test_too_short_row(self): with self.assertRaises(ValueError): number([" ", " _|", " |", " "])
def test_unknown_char(self): self.assertEqual('?', number([" - ", " _|", " X|", " "]))
def test_last_line_nonblank(self): self.assertEqual(number([" ", " |", " |", "| |"]), '?')
def test_0(self): self.assertEqual('0', number([" _ ", "| |", "|_|", " "]))
def test_1(self): self.assertEqual(number([" ", " |", " |", " "]), '1')
def test_garbage(self): self.assertEqual(number([" _ ", " _|", " |", " "]), '?')
def test_1(self): self.assertEqual('1', number([" ", " |", " |", " "]))
def test_unknown_char(self): self.assertEqual(number([" - ", " _|", " X|", " "]), '?')
def test_garbage(self): self.assertEqual('?', number([" _ ", " _|", " |", " "]))
def test_last_line_nonblank(self): self.assertEqual('?', number([" ", " |", " |", "| |"]))