public static void TestCtor_String_Boolean(bool dontEscape)
{
#pragma warning disable 0618
#pragma warning disable 0612
Uri uri = new Uri(@"http://foo/bar/baz#frag", dontEscape);
#pragma warning restore 0612
#pragma warning restore 0618
int i;
String s;
bool b;
UriHostNameType uriHostNameType;
String[] ss;
s = uri.ToString();
Assert.Equal(s, @"http://foo/bar/baz#frag");
s = uri.AbsolutePath;
Assert.Equal<String>(s, @"/bar/baz");
s = uri.AbsoluteUri;
Assert.Equal<String>(s, @"http://foo/bar/baz#frag");
s = uri.Authority;
Assert.Equal<String>(s, @"foo");
s = uri.DnsSafeHost;
Assert.Equal<String>(s, @"foo");
s = uri.Fragment;
Assert.Equal<String>(s, @"#frag");
s = uri.Host;
Assert.Equal<String>(s, @"foo");
uriHostNameType = uri.HostNameType;
Assert.Equal<UriHostNameType>(uriHostNameType, UriHostNameType.Dns);
b = uri.IsAbsoluteUri;
Assert.True(b);
b = uri.IsDefaultPort;
Assert.True(b);
b = uri.IsFile;
Assert.False(b);
b = uri.IsLoopback;
Assert.False(b);
b = uri.IsUnc;
Assert.False(b);
s = uri.LocalPath;
Assert.Equal<String>(s, @"/bar/baz");
s = uri.OriginalString;
Assert.Equal<String>(s, @"http://foo/bar/baz#frag");
s = uri.PathAndQuery;
Assert.Equal<String>(s, @"/bar/baz");
i = uri.Port;
Assert.Equal<int>(i, 80);
s = uri.Query;
Assert.Equal<String>(s, @"");
s = uri.Scheme;
Assert.Equal<String>(s, @"http");
ss = uri.Segments;
Assert.Equal<int>(ss.Length, 3);
Assert.Equal<String>(ss[0], @"/");
Assert.Equal<String>(ss[1], @"bar/");
Assert.Equal<String>(ss[2], @"baz");
b = uri.UserEscaped;
Assert.Equal(b, dontEscape);
s = uri.UserInfo;
Assert.Equal<String>(s, @"");
}