public void DeletesCacheDirectory() { var be = new Mock<IBuilderEnumerator>(); be.Setup(b => b.GetAllPersistentBuilders()).Returns(new Type[0]); var parameters = new Mock<ICleanParameters>(); var predicates = new SoftCleanPredicates(); var cdir = new TestFileSystemDirectory("cache"); var cleaner = new CacheCleaner(new Lazy<IFileSystemDirectory>(() => cdir), be.Object, () => predicates); cdir.IsDeleted.Should().BeFalse(); cleaner.Clean(parameters.Object); cdir.IsDeleted.Should().BeTrue(); }
public void KeepsPersistentReferences() { var cdir = new TestFileSystemDirectory("cache", new[] { new TestFileSystemDirectory("Bari.Core.Test.Build.Cache.NonPersistentReference_1"), new TestFileSystemDirectory("Bari.Core.Test.Build.Cache.NonPersistentReference_2"), new TestFileSystemDirectory("Bari.Core.Test.Build.Cache.PersistentReference_3"), new TestFileSystemDirectory("Bari.Core.Test.Build.Cache.PersistentReference_4") }); var be = new Mock<IBuilderEnumerator>(); be.Setup(b => b.GetAllPersistentBuilders()).Returns(new[] {typeof(PersistentReference)}); var predicates = new SoftCleanPredicates(); var cleaner = new CacheCleaner(new Lazy<IFileSystemDirectory>(() => cdir), be.Object, () => predicates); cdir.IsDeleted.Should().BeFalse(); ((TestFileSystemDirectory) cdir.GetChildDirectory("Bari.Core.Test.Build.Cache.NonPersistentReference_1")) .IsDeleted.Should().BeFalse(); ((TestFileSystemDirectory)cdir.GetChildDirectory("Bari.Core.Test.Build.Cache.NonPersistentReference_2")) .IsDeleted.Should().BeFalse(); ((TestFileSystemDirectory)cdir.GetChildDirectory("Bari.Core.Test.Build.Cache.PersistentReference_3")) .IsDeleted.Should().BeFalse(); ((TestFileSystemDirectory)cdir.GetChildDirectory("Bari.Core.Test.Build.Cache.PersistentReference_4")) .IsDeleted.Should().BeFalse(); var parameters = new Mock<ICleanParameters>(); parameters.SetupGet(p => p.KeepReferences).Returns(true); cleaner.Clean(parameters.Object); cdir.IsDeleted.Should().BeFalse(); ((TestFileSystemDirectory)cdir.GetChildDirectory("Bari.Core.Test.Build.Cache.NonPersistentReference_1")) .IsDeleted.Should().BeTrue(); ((TestFileSystemDirectory)cdir.GetChildDirectory("Bari.Core.Test.Build.Cache.NonPersistentReference_2")) .IsDeleted.Should().BeTrue(); ((TestFileSystemDirectory)cdir.GetChildDirectory("Bari.Core.Test.Build.Cache.PersistentReference_3")) .IsDeleted.Should().BeFalse(); ((TestFileSystemDirectory)cdir.GetChildDirectory("Bari.Core.Test.Build.Cache.PersistentReference_4")) .IsDeleted.Should().BeFalse(); }