Esempio n. 1
0
        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();
                });
            });
        }
Esempio n. 2
0
 public DummyEntity(DummyEntityKey key)
 {
     Key = key;
 }