public void RemoveWorks()
        {
            // ARRANGE
            var fsMock = new Mock<IFileSystem>();
            fsMock.Setup(m => m.ExistDir(It.IsAny<string>())).Returns(true);

            var subject = new InMemoryFileSystem(fsMock.Object);

            var dir1 = @"c:\temp\one";

            var file1a = Path.Combine(dir1, @"file1");

            // ACT
            subject.Save(file1a, file1a);
            subject.Remove(file1a);

            // ASSERT
            var actual = subject.PeekOldest(dir1);
            Assert.IsNull(actual);
        }
        public void MultipleFiles()
        {
            // ARRANGE
            var fsMock = new Mock<IFileSystem>();
            fsMock.Setup(m => m.ExistDir(It.IsAny<string>())).Returns(true);

            var subject = new InMemoryFileSystem(fsMock.Object);

            var dir1 = @"c:\temp\one";

            var file1a = Path.Combine(dir1, @"file1");
            var file1b = Path.Combine(dir1, @"file2");

            // ACT
            subject.Save(file1a, file1a);
            subject.Save(file1b, file1b);

            // ASSERT
            var actual1 = subject.PeekOldest(dir1);
            Assert.AreEqual(file1a, actual1);
            subject.Remove(file1a);

            var actual2 = subject.PeekOldest(dir1);
            Assert.AreEqual(file1b, actual2);
        }