public void StartWithEntireFileContentsWhenCalled()
        {
            var fs = new ImaginaryFileSystem("imaginary");

            var file = fs.ResolveFile("/test.log");
            file.Create();
            using (var writer = file.GetContent().GetWriter())
            {
                writer.Write("Some fake text");
            }

            var sut = new TailService();

            sut.Tail(file)
                .Take(1)
                .Subscribe(x => x.Should().Be("Some fake text"));
        }
		public void Test_Create_ImaginaryFileSystem_And_ImaginaryDirectory_And_Resolve()
		{
			var fileSystem = new ImaginaryFileSystem("imaginary");

			var fakeDirectory = fileSystem.ResolveDirectory("/Fake");

			Assert.IsFalse(fakeDirectory.Exists);

			fileSystem.ResolveDirectory("Fake").Create();

			fakeDirectory = fileSystem.ResolveDirectory("/Fake");

			Assert.IsTrue(fakeDirectory.Exists);

			fakeDirectory.AddJumpPoint("A", this.WorkingDirectory.ResolveDirectory("Directory1"));

			Assert.AreEqual(typeof(ImaginaryDirectory), fakeDirectory.GetType());

			var dir =  fileSystem.ResolveDirectory("/Fake/A");

			Assert.IsTrue(dir.Exists);
			Assert.Greater(dir.GetChildNames().Count(), 0);
		}