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; }
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); }