Exemplo n.º 1
0
        public async Task TasteTestShouldReturnFalseGivenTheWestpacFormat()
        {
            var subject = Arrange();

            subject.ReadTextChunkOverride = file => WestpacChequeCsvTestData.FirstTwoLines1();
            var result = await subject.TasteTestAsync(@"transumm.CSV");

            Assert.IsFalse(result);
        }
        public async Task LoadShouldThrowGivenBadData()
        {
            var subject = Arrange();

            subject.ReadLinesOverride = filename => WestpacChequeCsvTestData.BadTestData1();
            await subject.LoadAsync("foo.bar", StatementModelTestData.ChequeAccount);

            Assert.Fail();
        }
        public async Task LoadShouldParseAGoodFile()
        {
            var subject = Arrange();

            subject.ReadLinesOverride = f => WestpacChequeCsvTestData.TestData1();
            var result = await subject.LoadAsync("foo.bar", StatementModelTestData.ChequeAccount);

            Assert.AreEqual(1, result.DurationInMonths);
            Assert.AreEqual(7, result.AllTransactions.Count());
        }
        public async Task LoadShouldParseAGoodFileAndOutputIt()
        {
            var subject = Arrange();

            subject.ReadLinesOverride = f => WestpacChequeCsvTestData.TestData1();
            var result = await subject.LoadAsync("foo.bar", StatementModelTestData.ChequeAccount);

            Console.WriteLine("Date        Type             Description    Amount    ");
            foreach (var txn in result.AllTransactions)
            {
                Console.WriteLine($"{txn.Date:dd-MMM-yy} {txn.TransactionType,10} {txn.Description,12} {txn.Amount,10}");
            }
        }