public async Task SimpleCrudTest() { await new SimplePersistence( new NUnitJsonLogger(), new List <IPersistenceInitializer <SimplePersistence> > { new SimpleCrudTestPersistenceInitializer() }) .AsyncUsing( async p => { DummyEntityKey firstKey = null; DummyEntityKey secondKey = null; await p.OpenUnitOfWork() .AsyncUsing( uow => { var repository = uow.GetRepository <IDummyEntityRepository>(); firstKey = repository.CreateNew("First").Key; }); await p.OpenUnitOfWork() .AsyncUsing( uow => { var repository = uow.GetRepository <IDummyEntityRepository>(); string firstName = repository.GetEntity(firstKey)?.Name; firstName.Should().Be("First"); secondKey = repository.CreateNew("Second").Key; }); await p.OpenUnitOfWork() .AsyncUsing( uow => { var repository = uow.GetRepository <IDummyEntityRepository>(); Dictionary <DummyEntityKey, DummyEntity> allDummies = repository.SelectAll().ToDictionary(x => x.Key); allDummies.Count.Should().Be(2); allDummies.Should().ContainKey(firstKey); allDummies.Should().ContainKey(secondKey); repository.Remove(secondKey); }); await p.OpenUnitOfWork() .AsyncUsing( uow => { var repository = uow.GetRepository <IDummyEntityRepository>(); Dictionary <DummyEntityKey, DummyEntity> allDummies = repository.SelectAll().ToDictionary(x => x.Key); allDummies.Count.Should().Be(1); allDummies.Should().ContainKey(firstKey); repository.GetEntity(secondKey).Should().BeNull(); }); }); }
public DummyEntity(DummyEntityKey key) { Key = key; }