Esempio n. 1
0
        public async Task CollectAndShowAsync(IContainer container, bool isIntegrationTest)
        {
            var errorsAndInfos   = new ErrorsAndInfos();
            var secretRepository = container.Resolve <ISecretRepository>();

            CalculationLogger.ClearLogs();

            var allPostings = await PostingCollector.CollectPostingsAsync(container, isIntegrationTest);

            var postingClassificationsSecret = await secretRepository.GetAsync(new PostingClassificationsSecret(), errorsAndInfos);

            if (errorsAndInfos.AnyErrors())
            {
                await DataPresenter.WriteErrorsAsync(errorsAndInfos);

                return;
            }

            var postingClassifications = postingClassificationsSecret.Cast <IPostingClassification>().ToList();

            await SummaryCalculator.CalculateAndShowSummaryAsync(allPostings, postingClassifications);

            await AverageCalculator.CalculateAndShowAverageAsync(allPostings, postingClassifications);

            await MonthlyDeltaCalculator.CalculateAndShowMonthlyDeltaAsync(allPostings, postingClassifications);

            await ClassifiedPostingsCalculator.CalculateAndShowClassifiedPostingsAsync(allPostings, postingClassifications, DateTime.Now.AddYears(-1), 70);

            CalculationLogger.Flush();
        }
Esempio n. 2
0
        public async Task CanCalculateSummary()
        {
            await Sut.CalculateAndShowSummaryAsync(new List <IPosting> {
                TestData.PostingC2, TestData.PostingD2, TestData.PostingC3, TestData.PostingD3
            },
                                                   new List <IPostingClassification> {
                TestData.PostingClassificationC1, TestData.PostingClassificationC2, TestData.PostingClassificationD1, TestData.PostingClassificationD2
            });

            var items = FakeDataPresenter.OverallSums;

            Assert.AreEqual(2, items.Count);
            Assert.AreEqual("+", items[0].Type);
            Assert.AreEqual("Credit", items[0].Item);
            Assert.AreEqual(40, items[0].Sum);
            Assert.AreEqual("-", items[1].Type);
            Assert.AreEqual("Debit", items[1].Item);
            Assert.AreEqual(60, items[1].Sum);

            items = FakeDataPresenter.ClassificationSums;
            Assert.AreEqual(4, items.Count);
            Assert.AreEqual("-", items[0].Type);
            Assert.AreEqual("1510", items[0].Item);
            Assert.AreEqual(20, items[0].Sum);
            Assert.AreEqual("-", items[1].Type);
            Assert.AreEqual("1989", items[1].Item);
            Assert.AreEqual(40, items[1].Sum);
            Assert.AreEqual("+", items[2].Type);
            Assert.AreEqual("2407", items[2].Item);
            Assert.AreEqual(10, items[2].Sum);
            Assert.AreEqual("+", items[3].Type);
            Assert.AreEqual("4711", items[3].Item);
            Assert.AreEqual(30, items[3].Sum);
        }