public void GetFirstPartWorks()
        {
            var pb = new VirtualPathBuilder("/foo").CombineWith("~/app/path/");
            Assert.IsTrue(pb.GetFirstPart() == "~");
            Assert.IsTrue(pb.GetFirstPart(true) == "~");
            Assert.IsTrue(pb.GetFirstPart() == "/app");
            Assert.IsTrue(pb.GetFirstPart(true) == "/app");
            Assert.IsTrue(pb.GetFirstPart() == "/path");
            Assert.IsTrue(pb.GetFirstPart(true) == "/path");
            Assert.IsTrue(pb.GetFirstPart(true) == "/");

            pb = new VirtualPathBuilder("/foo").CombineWith("~/app/path/").Normalize();
            Assert.IsTrue(pb.GetFirstPart() == "/foo");
            Assert.IsTrue(pb.GetFirstPart(true) == "/foo");
            Assert.IsTrue(pb.GetFirstPart() == "/app");
            Assert.IsTrue(pb.GetFirstPart(true) == "/app");
            Assert.IsTrue(pb.GetFirstPart() == "/path");
            Assert.IsTrue(pb.GetFirstPart(true) == "/path");
            Assert.IsTrue(pb.GetFirstPart(true) == "");
        }