public static void IsBaseOf()
{
http = new Uri(full_http);
TestUriParser parser = new TestUriParser();
Assert.True(parser.IsBaseOf(http, http), "http-http");
Uri u = new Uri("http://www.mono-project.com/Main_Page#FAQ");
Assert.True(parser.IsBaseOf(u, http), "http-1a");
Assert.True(parser.IsBaseOf(http, u), "http-1b");
u = new Uri("http://www.mono-project.com/Main_Page");
Assert.True(parser.IsBaseOf(u, http), "http-2a");
Assert.True(parser.IsBaseOf(http, u), "http-2b");
u = new Uri("http://www.mono-project.com/");
Assert.True(parser.IsBaseOf(u, http), "http-3a");
Assert.True(parser.IsBaseOf(http, u), "http-3b");
u = new Uri("http://www.mono-project.com/Main_Page/");
Assert.False(parser.IsBaseOf(u, http), "http-4a");
Assert.True(parser.IsBaseOf(http, u), "http-4b");
// docs says the UserInfo isn't evaluated, but...
u = new Uri("http://*****:*****@www.mono-project.com/Main_Page");
Assert.False(parser.IsBaseOf(u, http), "http-5a");
Assert.False(parser.IsBaseOf(http, u), "http-5b");
// scheme case sensitive ? no
u = new Uri("HTTP://www.mono-project.com/Main_Page");
Assert.True(parser.IsBaseOf(u, http), "http-6a");
Assert.True(parser.IsBaseOf(http, u), "http-6b");
// host case sensitive ? no
u = new Uri("http://www.Mono-Project.com/Main_Page");
Assert.True(parser.IsBaseOf(u, http), "http-7a");
Assert.True(parser.IsBaseOf(http, u), "http-7b");
// path case sensitive ? no
u = new Uri("http://www.Mono-Project.com/MAIN_Page");
Assert.True(parser.IsBaseOf(u, http), "http-8a");
Assert.True(parser.IsBaseOf(http, u), "http-8b");
// different scheme
u = new Uri("ftp://www.mono-project.com/Main_Page");
Assert.False(parser.IsBaseOf(u, http), "http-9a");
Assert.False(parser.IsBaseOf(http, u), "http-9b");
// different host
u = new Uri("http://www.go-mono.com/Main_Page");
Assert.False(parser.IsBaseOf(u, http), "http-10a");
Assert.False(parser.IsBaseOf(http, u), "http-10b");
// different port
u = new Uri("http://www.mono-project.com:8080/");
Assert.False(parser.IsBaseOf(u, http), "http-11a");
Assert.False(parser.IsBaseOf(http, u), "http-11b");
// specify default port
u = new Uri("http://www.mono-project.com:80/");
Assert.True(parser.IsBaseOf(u, http), "http-12a");
Assert.True(parser.IsBaseOf(http, u), "http-12b");
}