public void HasNoDataAtAll() { using (var wrapper = new RegistersWrapper()) { IRegister register = wrapper.New.Register(); var rdbc = wrapper.DB.Tables.DbContextForReader; Assert.True(rdbc.People.Count() == 0); Assert.True(rdbc.DebtDeals.Count() == 0); Assert.True(rdbc.DebtDealsAnalysis.Count() == 0); Assert.True(rdbc.CurrentDebts.Count() == 0); Assert.True(rdbc.CurrentTotalsPerPerson.Count() == 0); Assert.True(rdbc.CurrentStatisticsPerPerson.Count() == 0); Assert.True(rdbc.CurrentPeopleStatisticsDocuments.Count() == 0); Assert.True(register.HasNoData); Assert.True(((IRegisterReader)register).HasNoData); // achievers register IAchieversRegisterReader achieversReader = ((IRegisterReader)register).Debts.Achievers; Assert.Empty(achieversReader.ByID.WithMaxDueDebtsTotal); Assert.Empty(achieversReader.ByID.WhoHistoricallyCreditedMaxTotal); Assert.Empty(achieversReader.ByID.BestDebtorByRepaidFractionThenTotal); } }
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 CheckAchieversRegister( IAchieversRegisterReader roAchievers, TablesDbContextForReader rdbc, IMongoCollection <AchieversDoc> mongoCollection, string giverId, string takerId, decimal total ) { var byId = roAchievers.ByID; string achieversDocIdString = rdbc.CurrentPeopleStatisticsDocuments .Where(csd => csd.DocumentName == AchieversDoc.Name) .First().DocumentId; Assert.False(string.IsNullOrEmpty(achieversDocIdString)); ObjectId achieversDocId = new ObjectId(achieversDocIdString); AchieversDoc achieversDoc = mongoCollection.AsQueryable() .Where(doc => doc.Id == achieversDocId) .First(); Action <IReadOnlyCollection <string> > maxDebtorChecker = set => { if (set != null) { Assert.Equal(0, set.Count); } }; maxDebtorChecker(byId.WithMaxDueDebtsTotal); maxDebtorChecker(achieversDoc.MaxDueDebtsTotalPersonIds); Action <IReadOnlyCollection <string> > maxCreditorChecker = set => { Assert.Contains(set, id => id == giverId); Assert.Equal(1, set.Count); }; maxCreditorChecker(byId.WhoHistoricallyCreditedMaxTotal); maxCreditorChecker( achieversDoc.HistoricallyCreditedMaxTotalPersonIds); Action <IReadOnlyCollection <string> > bestDebtorChecker = set => { Assert.Contains(set, id => id == takerId); Assert.Equal(1, set.Count); }; bestDebtorChecker(byId.BestDebtorByRepaidFractionThenTotal); bestDebtorChecker( achieversDoc.BestDebtorIdsByRepaidFractionThenTotal); }
private void CheckAchieversRegister( IAchieversRegisterReader roAchievers, IMongoCollection <AchieversDoc> mongoCollection, string giverId, string takerId, decimal amount ) { var byId = roAchievers.ByID; Assert.Contains(byId.WithMaxDueDebtsTotal, id => id == takerId); Assert.Equal(1, byId.WithMaxDueDebtsTotal.Count); Assert.Contains( byId.WhoHistoricallyCreditedMaxTotal, id => id == giverId); Assert.Equal(1, byId.WhoHistoricallyCreditedMaxTotal.Count); Assert.Equal(0, byId.BestDebtorByRepaidFractionThenTotal.Count); }