Пример #1
0
        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");
        }
Пример #2
0
        public void Account_123956189_is_an_invalid_account()
        {
            var bankOcrLine   = new OcrReader();
            var actualAccount = bankOcrLine.ReadAccounts(File.ReadAllLines($@"reference_asciiarts\123956189.txt")).Single();

            Check.That(actualAccount.IsValid()).IsFalse();
        }
Пример #3
0
        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");
        }
Пример #4
0
        public void Returns_account_as_1_questionMark_3956189_when_input_using_123956189_ill()
        {
            var bankOcrLine   = new OcrReader();
            var actualAccount = bankOcrLine.ReadAccounts(File.ReadAllLines($@"reference_asciiarts\0123456789_correct_checksum_but_one_digit_flured.txt")).Single();

            Check.That(actualAccount.AsString()).IsEqualTo("123456789");
        }
Пример #5
0
        public void Return_invalid_account_as_a_string_tailed_by_ERR()
        {
            var bankOcrLine   = new OcrReader();
            var actualAccount = bankOcrLine.ReadAccounts(File.ReadAllLines($@"reference_asciiarts\444444444.txt")).Single();

            Check.That(actualAccount.AsString()).IsEqualTo("444444444 ERR");
        }
Пример #6
0
        public void Returns_account_as_a_valid_account_when_input_using_488067775_with_one_flur_digit()
        {
            var bankOcrLine   = new OcrReader();
            var actualAccount = bankOcrLine.ReadAccounts(File.ReadAllLines($@"reference_asciiarts\488067775.txt")).Single();

            Check.That(actualAccount.AsString()).IsEqualTo("480067775");
        }
Пример #7
0
        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");
        }
Пример #8
0
        public void Returns_9_when_read_file_contains_asciiart_is_9()
        {
            var readAllLines = File.ReadAllLines(@"reference_asciiarts\9.txt");
            var ocrReader    = new OcrReader();
            int expected     = ocrReader.Read(readAllLines);

            Check.That(expected).IsEqualTo(9);
        }
Пример #9
0
        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");
        }
Пример #10
0
        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:   | _| _||_||_ | _   ||_||_|");
        }