public void delete_returns_false_if_the_entity_does_not_exist(int id)
        {
            var sut = new RepositoryBuilder()
                      .Build();

            Assert.False(sut.Delete(id));
        }
        public void delete_does_not_pass_entity_through_to_subclass_if_it_is_not_deleted()
        {
            var called = false;
            var sut    = new RepositoryBuilder()
                         .WithOnEntityDeleted(
                (id, c) => called = true)
                         .Build();

            Assert.False(called);
            sut.Delete(42);
            Assert.False(called);
        }
        public void delete_returns_true_if_entity_is_deleted(int id)
        {
            var sut = new RepositoryBuilder()
                      .Build();

            sut.Save(
                new TestEntity
            {
                Id = id
            });

            Assert.NotNull(sut.Get(id));

            Assert.True(sut.Delete(id));

            Assert.Null(sut.Get(id));
        }
        public void delete_passes_entity_through_to_subclass_if_it_is_deleted()
        {
            var called = false;
            var sut    = new RepositoryBuilder()
                         .WithOnEntityDeleted(
                (e, c) => called = true)
                         .Build();
            var result = sut
                         .Save(
                new TestEntity
            {
                Column1 = "original"
            });

            Assert.False(called);
            sut.Delete(result.Id.Value);
            Assert.True(called);
        }