public void CleanupWhenValid(FolderItem item)
        {
            var fiSvc = new FolderItemService(new Mock <IStorageService>().Object);

            Action sut = () => fiSvc.Cleanup(item);

            sut.Should().NotThrow();
        }
        public void CleanupInform()
        {
            var fileSystem = new MockFileSystem(new Dictionary <string, MockFileData>
            {
                { @"c:\temp\myfile.txt", new MockFileData("Data") },
                { @"c:\temp\test\test\myfile.txt", new MockFileData("Data") },
                { @"c:\temp\test\myfile.txt", new MockFileData("Data") },
                { @"c:\temp\test\myfile.log", new MockFileData("Data") },
                { @"c:\temp\myfile.log", new MockFileData("Data") }
            });

            var data = new FolderItem("test", @"c:\temp\", "*.txt", TimeSpan.FromDays(1), true);

            var informer = new Mock <IInformerService>();
            var fiSvc    = new FolderItemService(new StorageService(fileSystem), informer.Object);

            var sut = fiSvc.Cleanup(data);

            informer.Verify(x => x.Inform("-"), Times.Exactly(3));
        }
        public void Cleanup()
        {
            var fileSystem = new MockFileSystem(new Dictionary <string, MockFileData>
            {
                { @"c:\temp\myfile.txt", new MockFileData("Data") },
                { @"c:\temp\test\test\myfile.txt", new MockFileData("Data") },
                { @"c:\temp\test\myfile.txt", new MockFileData("Data") },
                { @"c:\temp\test\myfile.log", new MockFileData("Data") },
                { @"c:\temp\myfile.log", new MockFileData("Data") }
            });

            var data = new FolderItem("test", @"c:\temp\", "*.txt", TimeSpan.FromDays(1), true);

            var fiSvc = new FolderItemService(new StorageService(fileSystem));

            var sut = fiSvc.Cleanup(data);

            sut.IsSuccess.Should().BeTrue();
            fileSystem.AllFiles.Count().Should().Be(2);
            fileSystem.AllDirectories.Count().Should().Be(4);
        }