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) == ""); }