CQRS.Tests.KeyValueStorage.DocumentDbTests.LoadingRemovingAndAddingObjectInUnitOfWorkResultsInObjectBeingSaved C# (CSharp) Method

LoadingRemovingAndAddingObjectInUnitOfWorkResultsInObjectBeingSaved() private method

        public void LoadingRemovingAndAddingObjectInUnitOfWorkResultsInObjectBeingSaved()
        {
            var store = CreateStore();

            var user = new User { Id = Guid.NewGuid() };

            using (var session = OpenSession(store))
            {
                session.Save(user.Id, user);
                session.SaveChanges();
            }

            using (var session = OpenSession(store))
            {
                var uow = new UnitOfWork(new SingleThreadUseGuard());
                uow.AddParticipant((IUnitOfWorkParticipant)session);

                user = session.Get<User>(user.Id);
                session.Delete(user);

                User tmpUser;
                session.TryGet(user.Id, out tmpUser).Should().Be(false);
                session.Save(user);
                session.TryGet(user.Id, out tmpUser).Should().Be(true);
                session.Delete(user);
                session.TryGet(user.Id, out tmpUser).Should().Be(false);
                session.Save(user);
                session.TryGet(user.Id, out tmpUser).Should().Be(true);

                uow.Commit();
            }

            using (var session = OpenSession(store))
            {
                session.TryGet(user.Id, out user).Should().Be(true);
            }
        }
DocumentDbTests