public void RelativeResourceFromSubfolder()
        {
            UrlResource res = new UrlResource("http://www.springframework.net/samples/artfair/download.html");

            IResource rel0 = res.CreateRelative("/index.html");

            Assert.IsTrue(rel0 is UrlResource);
            Assert.AreEqual("URL [http://www.springframework.net/index.html]", rel0.Description);

            IResource rel1 = res.CreateRelative("index.html");

            Assert.IsTrue(rel1 is UrlResource);
            Assert.AreEqual("URL [http://www.springframework.net/samples/artfair/index.html]", rel1.Description);

            IResource rel2 = res.CreateRelative("demo/index.html");

            Assert.IsTrue(rel2 is UrlResource);
            Assert.AreEqual("URL [http://www.springframework.net/samples/artfair/demo/index.html]", rel2.Description);

            IResource rel3 = res.CreateRelative("./demo/index.html");

            Assert.IsTrue(rel3 is UrlResource);
            Assert.AreEqual("URL [http://www.springframework.net/samples/artfair/demo/index.html]", rel3.Description);

            IResource rel4 = res.CreateRelative("../calculator/index.html");

            Assert.IsTrue(rel4 is UrlResource);
            Assert.AreEqual("URL [http://www.springframework.net/samples/calculator/index.html]", rel4.Description);

            IResource rel5 = res.CreateRelative("../../index.html");

            Assert.IsTrue(rel5 is UrlResource);
            Assert.AreEqual("URL [http://www.springframework.net/index.html]", rel5.Description);
        }
        public void RelativeResourceFromRoot()
        {
            UrlResource res = new UrlResource("http://www.springframework.net/documentation.html");

            IResource rel0 = res.CreateRelative("/index.html");

            Assert.IsTrue(rel0 is UrlResource);
            Assert.AreEqual("URL [http://www.springframework.net/index.html]", rel0.Description);

            IResource rel1 = res.CreateRelative("index.html");

            Assert.IsTrue(rel1 is UrlResource);
            Assert.AreEqual("URL [http://www.springframework.net/index.html]", rel1.Description);

            IResource rel2 = res.CreateRelative("samples/artfair/index.html");

            Assert.IsTrue(rel2 is UrlResource);
            Assert.AreEqual("URL [http://www.springframework.net/samples/artfair/index.html]", rel2.Description);

            IResource rel3 = res.CreateRelative("./samples/artfair/index.html");

            Assert.IsTrue(rel3 is UrlResource);
            Assert.AreEqual("URL [http://www.springframework.net/samples/artfair/index.html]", rel3.Description);
        }
        public void RelativeResourceTooManyBackLevels()
        {
            UrlResource res = new UrlResource("http://www.springframework.net/samples/artfair/download.html");

            Assert.Throws <UriFormatException>(() => res.CreateRelative("../../../index.html"));
        }