public void Restore(ArchivableEntity ae) { ae.Restore(); }
public void Init() { AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal); ArchivableEntity ent1 = new ArchivableEntity {Value = 11}; ArchivableEntity ent2 = new ArchivableEntity {Value = 13}; ((IArchivable) ent1).Deleted = DateTime.Now; _list = new List<ArchivableEntity>(new[] { ent1, ent2 }); }
public void Archive(ArchivableEntity ae) { ae.Archive(); }
public void Deleted_Entities_Are_Just_Modified_Not_Deleted() { // Arrange ArchivableEntity ent1 = new ArchivableEntity { Value = 11 }; ArchivableEntity ent2 = new ArchivableEntity { Value = 13 }; ((IArchivable)ent1).Deleted = DateTime.Now; List<ArchivableEntity> l2 = new List<ArchivableEntity>(new[] { ent1, ent2 }); Mock<IRepository<ArchivableEntity>> realRepo = new Mock<IRepository<ArchivableEntity>>(); realRepo.Setup(rr => rr.Delete(It.IsAny<ArchivableEntity>())) .Callback((ArchivableEntity ent) => { l2.Remove(ent); }); realRepo.Setup(rr => rr.Update(It.IsAny<ArchivableEntity>())) .Callback((ArchivableEntity ent) => { ((IArchivable) ent).Deleted = DateTime.Now; }); Mock<ArchivableRepository<ArchivableEntity>> deco = new Mock<ArchivableRepository<ArchivableEntity>>(realRepo.Object) { CallBase = true }; // Act deco.Object.Delete(ent2); // Verify realRepo.Verify(rr => rr.Delete(ent2), Times.Never()); realRepo.Verify(rr => rr.Update(ent2), Times.Once()); Assert.That(ent2, Has.Property("Deleted").Not.EqualTo(null)); Assert.That(l2.Count, Is.EqualTo(2)); }