public void Return_corrected_account_number_when_a_digit_is_missing_a_bar() { var bankOcrLine = new OcrReader(); var accountAsString = bankOcrLine.ReadAccountsAsStrings(File.ReadAllLines($@"reference_asciiarts\123956189_ILL.txt")).Single(); Check.That(accountAsString).IsEqualTo("123956188"); }
public void Return_account_number_123956189_when_file_contains_123956189() { var bankOcrLine = new OcrReader(); var actual = bankOcrLine.ReadAccountsAsStrings(File.ReadAllLines($@"reference_asciiarts\444444444.txt")); Check.That(actual).ContainsExactly("444444444 ERR"); }
public void Returns_3_accounts_when_read_file_contains_12_lines_of_asciiarts() { var readAllLines = File.ReadAllLines(@"reference_asciiarts\list_of_accounts.txt"); var ocrReader = new OcrReader(); var expected = ocrReader.ReadAccountsAsStrings(readAllLines); Check.That(expected).Contains("123456789", "444444444 ERR", "000000000"); }
public void Throws_when_not_the_4th_line_of_a_digit_source_is_not_blank() { var bankOcrLine = new OcrReader(); Check.ThatCode( () => { bankOcrLine.ReadAccountsAsStrings(File.ReadAllLines($@"reference_asciiarts\invalidAccount_123956189_forAllDigitSource_the_4th_line_should_be_blank.txt")).ToArray(); }) .Throws <ArgumentException>() .WithMessage("Each account is 4 lines long"); }
public void Throws_when_not_all_lines_contains_exactly_27_characters() { var bankOcrLine = new OcrReader(); Check.ThatCode( () => { var actual = bankOcrLine.ReadAccountsAsStrings(File.ReadAllLines($@"reference_asciiarts\invalidAccount_123956189_allLineShouldHaveExactly27Characters.txt")).ToArray(); }) .Throws <ArgumentException>() .WithMessage("All lines should have exactly 27 characters. they are: | _| _||_||_ | _ ||_||_|"); }