public void Remove_a_file_with_an_unique_dependency()
            {
                // Arrange
                var tracker = new TestableDependencyTracker();
                tracker.FileDependencies.Add("some post", new HashSet<string> {"layout 1"});
                tracker.DependentFiles.Add("layout 1", new HashSet<string>{"some post"});

                // Act
                tracker.Remove("some post");

                // Assert
                Assert.That(tracker.FileDependencies, Is.Empty);
                Assert.That(tracker.DependentFiles, Is.Empty);
            }
            public void Remove_a_file_with_a_shared_dependency()
            {
                // Arrange
                var tracker = new TestableDependencyTracker();

                tracker.FileDependencies.Add("some post", new HashSet<string> {"layout 1"});
                tracker.FileDependencies.Add("another post", new HashSet<string> {"layout 1"});
                tracker.DependentFiles.Add("layout 1", new HashSet<string>
                    {
                        "some post",
                        "another post"
                    });

                // Act
                tracker.Remove("some post");

                // Assert
                Assert.That(tracker.FileDependencies.Keys, Has.None.Contains("some post"));
                Assert.That(tracker.DependentFiles["layout 1"], Has.No.Contains("some post"));
            }
            public void Remove_an_untracked_file()
            {
                // Arrange
                var tracker = new TestableDependencyTracker();

                // Act
                tracker.Remove("untracked");

                // Assert
            }