public void OutputTest()
        {
            LongTermSpendingTrendAnalyser subject = Arrange();

            subject.Analyse(StatementModelTestData.TestData2(), new GlobalFilterCriteria());

            Output(subject);
        }
Пример #2
0
 public void TestInitialise()
 {
     MatchingRulesTestDataGenerated.BucketRepo = new BucketBucketRepoAlwaysFind();
     MatchingRulesTestDataGenerated.BucketRepo.Initialise(null);
     this.allRules             = MatchingRulesTestDataGenerated.TestData1();
     this.testDataTransactions = StatementModelTestData.TestData2().WithNullBudgetBuckets().AllTransactions.ToList();
     this.mockBudgetBucketRepo = new Mock <IBudgetBucketRepository>();
 }
Пример #3
0
        public void TestInitialise()
        {
            Statement = StatementModelTestData.TestData2();

            // Mocking out the Calculator means we dont need the LedgerBook
            LedgerBook = new LedgerBookTestHarness(new Mock <IReconciliationBuilder>().Object);
            SetLedgerBalancesFakeDataSomeOverspentBuckets();

            Subject = new OverspentWarning();
            Act();
        }
Пример #4
0
        public void RemoveTransaction_ShouldCallStatementModelRemove_GivenATransaction()
        {
            this.testData = new StatementModelTestHarness();
            this.testData.LoadTransactions(StatementModelTestData.TestData2().Transactions);
            Arrange();
            Transaction transaction = this.testData.Transactions.Skip(1).First();

            this.subject.RemoveTransaction(transaction);

            Assert.AreEqual(1, ((StatementModelTestHarness)this.testData).RemoveTransactionWasCalled);
        }
Пример #5
0
        public async Task ImportAndMergeBankStatement_ShouldMergeTheModel_GivenStorageKeyAndAccount()
        {
            this.testData = new StatementModelTestHarness();
            this.testData.LoadTransactions(new List <Transaction>());

            Arrange();

            this.mockStatementRepo
            .Setup(m => m.ImportBankStatementAsync(It.IsAny <string>(), It.IsAny <Engine.BankAccount.Account>()))
            .Returns(Task.FromResult(StatementModelTestData.TestData2()))
            .Verifiable();

            await this.subject.ImportAndMergeBankStatementAsync("Sticky Bag.csv", StatementModelTestData.ChequeAccount);

            Assert.AreEqual(1, ((StatementModelTestHarness)this.testData).MergeWasCalled);
        }
Пример #6
0
        public async Task ImportAndMergeBankStatement_ShouldThrow_GivenAlreadyImported()
        {
            this.testData = new StatementModelBuilder()
                            .TestData2()
                            .Build();

            Arrange();

            this.mockStatementRepo
            .Setup(m => m.ImportBankStatementAsync(It.IsAny <string>(), It.IsAny <Engine.BankAccount.Account>()))
            .Returns(Task.FromResult(StatementModelTestData.TestData2()))
            .Verifiable();

            await this.subject.ImportAndMergeBankStatementAsync("Sticky Bag.csv", StatementModelTestData.ChequeAccount);

            Assert.Fail();
        }
Пример #7
0
        public void TestInit()
        {
            PrivateAccessor.SetProperty(this.testAppDb, "StatementModelStorageKey", @"Foo.csv");
            PrivateAccessor.SetProperty(this.testAppDb, "FileName", @"C:\AppDb.bax");
            this.testData = StatementModelTestData.TestData2();

            this.mockBudgetBucketRepo = new Mock <IBudgetBucketRepository>();
            this.mockStatementRepo    = new Mock <IStatementRepository>();

            this.mockStatementRepo.Setup(m => m.LoadAsync(It.IsAny <string>(), It.IsAny <bool>()))
            .Returns(Task.FromResult(this.testData))
            .Verifiable();

            this.mockBudgetBucketRepo
            .Setup(m => m.Buckets)
            .Returns(BudgetBucketTestData.BudgetModelTestData1Buckets);

            this.budgetBucketRepo = this.mockBudgetBucketRepo.Object;
            Arrange();
        }
Пример #8
0
        public async Task Save_ShouldThrow_GivenMappingDoesNotMapAllTransactions()
        {
            var mapper  = new Mock <IDtoMapper <TransactionSetDto, StatementModel> >();
            var subject = ArrangeWithMockMappers(mapper.Object);
            var model   = StatementModelTestData.TestData2();

            model.Filter(new GlobalFilterCriteria {
                BeginDate = new DateTime(2013, 07, 20), EndDate = new DateTime(2013, 08, 19)
            });

            mapper.Setup(m => m.ToDto(model)).Returns(
                new TransactionSetDto
            {
                StorageKey   = "Foo.bar",
                LastImport   = new DateTime(2013, 07, 20),
                Transactions = TransactionSetDtoTestData.TestData2().Transactions.Take(2).ToList()
            });

            await subject.SaveAsync(model, "Foo.bar", false);

            Assert.Fail();
        }
Пример #9
0
        public void CalculateOverSpentLedgersShouldReturnOverdrawnTransactionsGivenStatementTransactionsSpendMoreThanLedgerBalance()
        {
            TestData.Output(true);
            IEnumerable <ReportTransaction> result = Subject.CalculateOverspentLedgers(StatementModelTestData.TestData2(), TestData, new DateTime(2013, 08, 15));

            foreach (ReportTransaction txn in result)
            {
                Console.WriteLine("{0} {1} {2}", txn.Date, txn.Narrative, txn.Amount);
            }

            Assert.AreEqual(-40.41M, result.Sum(t => t.Amount));
        }