Ejemplo n.º 1
0
        public DebtsRegister(
            TablesDbContext dbc,
            TablesDbContextForReader rdbc,
            IPersonDebtsRegister personDebtsRegister,
            IPersonDebtsRegisterReader personDebtsRegisterReader,
            IPairDebtsRegister pairDebtsRegister,
            IPairDebtsRegisterReader pairDebtsRegisterReader,
            IDebtDealsRegister debtDealsRegister,
            IDebtDealsRegisterReader debtDealsRegisterReader,
            IAchieversRegister achieversRegister,
            IAchieversRegisterReader achieversRegisterReader
            )
        {
            this.dbc  = dbc;
            this.rdbc = rdbc;

            this.Person = personDebtsRegister;
            this.personDebtsRegisterReader = personDebtsRegisterReader;

            this.Pairs = pairDebtsRegister;
            this.pairDebtsRegisterReader = pairDebtsRegisterReader;

            this.Deals = debtDealsRegister;
            this.debtDealsRegisterReader = debtDealsRegisterReader;

            this.Achievers = achieversRegister;
            this.achieversRegisterReader = achieversRegisterReader;
        }
Ejemplo n.º 2
0
        private void CheckPersonDebtsRegister(
            IPersonDebtsRegisterReader roPerson,
            TablesDbContextForReader rdbc,
            string giverId, string takerId, string thirdId,
            decimal total
            )
        {
            // totals
            PersonTotalsRow giverTotals = roPerson.GetTotals(giverId);

            Assert.Equal(0, giverTotals.DueDebtsTotal);
            Assert.Equal(0, giverTotals.HistoricalCountOfCreditsTaken);
            Assert.Equal(total, giverTotals.HistoricallyCreditedInTotal);
            Assert.Equal(0, giverTotals.HistoricallyOwedInTotal);

            PersonTotalsRow takerTotals = roPerson.GetTotals(takerId);

            Assert.Equal(0, takerTotals.DueDebtsTotal);
            Assert.Equal(1, takerTotals.HistoricalCountOfCreditsTaken);
            Assert.Equal(0, takerTotals.HistoricallyCreditedInTotal);
            Assert.Equal(total, takerTotals.HistoricallyOwedInTotal);

            PersonTotalsRow thirdTotals = roPerson.GetTotals(thirdId);

            Assert.Equal(0, thirdTotals.DueDebtsTotal);
            Assert.Equal(0, thirdTotals.HistoricalCountOfCreditsTaken);
            Assert.Equal(0, thirdTotals.HistoricallyCreditedInTotal);
            Assert.Equal(0, thirdTotals.HistoricallyOwedInTotal);

            Assert.Equal(2, rdbc.CurrentTotalsPerPerson.Count());

            // statistics
            PersonStatisticsRow giverStatistics
                = roPerson.GetStatistics(giverId);

            Assert.Equal(0,
                         giverStatistics.HistoricalDebtAverageThroughCasesOfTaking);

            PersonStatisticsRow takerStatistics
                = roPerson.GetStatistics(takerId);

            Assert.Equal(total,
                         takerStatistics.HistoricalDebtAverageThroughCasesOfTaking);

            PersonStatisticsRow thirdStatistics
                = roPerson.GetStatistics(thirdId);

            Assert.Equal(0,
                         thirdStatistics.HistoricalDebtAverageThroughCasesOfTaking);

            Assert.Equal(1, rdbc.CurrentStatisticsPerPerson.Count());

            // repaid fraction
            Assert.True(roPerson.GetRepaidFraction(giverId) == null);
            Assert.Equal(1, roPerson.GetRepaidFraction(takerId));
            Assert.True(roPerson.GetRepaidFraction(thirdId) == null);
        }