public void Refresh_Method()
        {
            Assert.Throws <ArgumentNullException>(() => new MemoryRepository <TestEntity>().Refresh(null));

            var entity = new TestEntity {
                Name = "first"
            };

            using (var repository = new MemoryRepository <TestEntity>())
            {
                Assert.True(ReferenceEquals(repository.Refresh(entity), repository));
                Assert.Equal(0, entity.Id);
                Assert.Equal("first", entity.Name);

                repository.Transaction(() => repository.Persist(entity));

                entity.Name = "second";
                repository.Refresh(entity);
                Assert.Equal(0, entity.Id);
                Assert.Equal("second", entity.Name);
            }
        }