public async Task CommitRollbackUnitOfWork1() { var unitOfWork = new InmemoryUnitOfWork(); var set = await unitOfWork.CreateSet <Account>(); var account = new Account { Email = this.UniqueEmail, Name = "misha" }; account.EnsureIdentity(); set.Add(account.Id, account); await unitOfWork.Commit(); var set1 = await unitOfWork.CreateSet <Account>(); var count = set1.Count; var account1 = new Account { Email = this.UniqueEmail, Name = "misha" }; account1.EnsureIdentity(); set1.Add(account1.Id, account1); await unitOfWork.Rollback(); var set3 = await unitOfWork.CreateSet <Account>(); Assert.AreEqual(count, set3.Count); }
public async Task CreateUnitOfWork() { var unitOfWork = new InmemoryUnitOfWork(); var set = await unitOfWork.CreateSet <Account>(); Assert.IsNotNull(set); }
public async Task EventRelationTypeAllRepository() { var unitOfWork = new InmemoryUnitOfWork(); var repo = new Repository <EventRelationType>(unitOfWork); var eventRelationTypes = await repo.GetFiltered(n => true); Assert.AreEqual(3, eventRelationTypes.Count()); }
public async Task AlgorithmTypeAllRepository() { var unitOfWork = new InmemoryUnitOfWork(); var repo = new Repository <AlgorithmType>(unitOfWork); var algorithmTypes = await repo.GetFiltered(n => true); Assert.AreEqual(2, algorithmTypes.Count()); }
public async Task CurrencyTypeRepository() { var unitOfWork = new InmemoryUnitOfWork(); var repo = new Repository <CurrencyType>(unitOfWork); var currencyType = await repo.GetBy(n => n.Name == CurrencyType.Reputation); Assert.AreEqual(CurrencyType.Reputation, currencyType.Name); }
public async Task FillByOneTypeUnitOfWork() { var unitOfWork = new InmemoryUnitOfWork(); var set = await unitOfWork.CreateSet <Account>(); var account = new Account(); account.EnsureIdentity(); set.Add(account.Id, account); Assert.AreEqual(1, set.Count); }
public async Task AlgorithmTypeRepository() { var unitOfWork = new InmemoryUnitOfWork(); var repo = new Repository <AlgorithmType>(unitOfWork); var algorithmType = await repo.GetBy(n => n.Name == AlgorithmType.Linear); Assert.AreEqual(AlgorithmType.Linear, algorithmType.Name); algorithmType = await repo.GetBy(n => n.Name == AlgorithmType.Exponential); Assert.AreEqual(AlgorithmType.Exponential, algorithmType.Name); }
public async Task TestByRelationsUnitOfWork() { var unitOfWork = new InmemoryUnitOfWork(); var set = await unitOfWork.CreateSet <Account>(); var set2 = await unitOfWork.CreateSet <Account>(); var account = new Account(); account.EnsureIdentity(); set.Add(account.Id, account); Assert.AreEqual(set2.Count, set.Count); }
public async Task ScopeableUnitOfWorkFactory() { var unitOfWork = new InmemoryUnitOfWork(); var f = new ScopeableUnitOfWorkFactory(unitOfWork); var repo = new Repository <EventRelationType>(unitOfWork); var count = (await repo.GetFiltered(x => true)).Count(); using (f.Create()) { await repo.Add(new EventRelationType { Name = "x1" }); } Assert.AreEqual(count + 1, (await repo.GetFiltered(x => true)).Count()); }
public async Task ScopeableUnitOfWorkFactoryEx() { var unitOfWork = new InmemoryUnitOfWork(); var f = new ScopeableUnitOfWorkFactory(unitOfWork); var repo = new Repository <EventRelationType>(unitOfWork); var count = (await repo.GetFiltered(x => true)).Count(); using (new InmemoryUnitOfWork()) { using (f.Create()) { await repo.Add(new EventRelationType { Name = string.Empty }); } } }
public async Task CommitByRelationsUnitOfWork() { var unitOfWork = new InmemoryUnitOfWork(); var set = await unitOfWork.CreateSet <Account>(); var account = new Account { Email = this.UniqueEmail, Name = "misha" }; account.EnsureIdentity(); set.Add(account.Id, account); var count = set.Count; await unitOfWork.Commit(); Assert.AreEqual(count, set.Count); }
public void Initialize() { Factory <IValidator> .SetCurrent(new DataAnnotationsEntityValidatorFactory()); Factory <ILogger> .SetCurrent(new MockLoggerFactory()); Factory <IBinarySerializer> .SetCurrent(new NetBinarySerializerFactory()); Factory <IEmailAddressValidator> .SetCurrent(new RegexEmailAddressValidatorFactory()); var uow = new InmemoryUnitOfWork(); _accountingService = new AccountingService( new Repository <Account>(uow), new Repository <CurrencyType>(uow), new Repository <AccountBalance>(uow), new Repository <AccountLogin>(uow), new Repository <AccountSetAccounts>(uow), new AccountsFactory( new Repository <Account>(uow), new Repository <CurrencyType>(uow), new Repository <AccountBalance>(uow), new Repository <AccountLogin>(uow), new Repository <AccountSet>(uow), new Repository <AccountSetAccounts>(uow), new ScopeableUnitOfWorkFactory(uow))); _betsService = new BetsService( new Repository <Bet>(uow), new Repository <Account>(uow), new Repository <Event>(uow), new Repository <OutcomesType>(uow), new Repository <CurrencyType>(uow), new Repository <EventBetCondition>(uow), new Repository <BetRateAlgorithm>(uow), new BetsFactory( new Repository <Bet>(uow), new Repository <EventBetCondition>(uow), new Repository <EventRelationType>(uow), new Repository <CurrencyType>(uow), new Repository <AlgorithmType>(uow), new Repository <AccountSetAccounts>(uow), new Repository <BetRateAlgorithm>(uow), new ScopeableUnitOfWorkFactory(uow)) ); _eventsService = new EventsService( new Repository <Account>(uow), new Repository <AccountSet>(uow), new Repository <EventRelationType>(uow), new Repository <CurrencyType>(uow), new Repository <AlgorithmType>(uow), new Repository <Event>(uow), new Repository <EventCondition>(uow), new EventsFactory( new Repository <Event>(uow), new Repository <EventCondition>(uow), new Repository <BetRateAlgorithm>(uow), new Repository <EventBetCondition>(uow), new ScopeableUnitOfWorkFactory(uow)), _accountingService, _betsService, new ScopeableUnitOfWorkFactory(uow)); }