public static void Snippet2() { // <Snippet2> UriTemplate temp1 = new UriTemplate("weather/{state}/{city}"); UriTemplate temp2 = new UriTemplate("weather/{country}/{village}"); // Notice they are not reference equal, in other words // they are do not refer to the same object if (temp1 == temp2) { Console.WriteLine("{0} and {1} are reference equal", temp1, temp2); } else { Console.WriteLine("{0} and {1} are NOT reference equal", temp1, temp2); } // Notice they are structrually equal UriTemplateEquivalenceComparer comparer = new UriTemplateEquivalenceComparer(); bool result = comparer.Equals(temp1, temp2); if (result) { Console.WriteLine("{0} and {1} are structurally equal", temp1, temp2); } else { Console.WriteLine("{0} and {1} are NOT structurally equal", temp1, temp2); } // </Snippet2> }
public void Compare () { var t1 = new UriTemplate ("urn:foo"); var t2 = new UriTemplate ("urn:bar"); var t3 = new UriTemplate ("urn:foo", true); var dic = new Dictionary<string,string> (); dic.Add ("foo", "v1"); var t4 = new UriTemplate ("urn:foo", dic); var c = new UriTemplateEquivalenceComparer (); Assert.IsFalse (c.Equals (t1, t2), "#1"); Assert.IsTrue (c.Equals (t1, t3), "#2"); Assert.IsTrue (c.Equals (t1, t4), "#3"); Assert.IsTrue (c.Equals (null, null), "#4"); Assert.IsFalse (c.Equals (null, t1), "#5"); Assert.IsFalse (c.Equals (t1, null), "#6"); }
public void Compare() { var t1 = new UriTemplate("urn:foo"); var t2 = new UriTemplate("urn:bar"); var t3 = new UriTemplate("urn:foo", true); var dic = new Dictionary <string, string> (); dic.Add("foo", "v1"); var t4 = new UriTemplate("urn:foo", dic); var c = new UriTemplateEquivalenceComparer(); Assert.IsFalse(c.Equals(t1, t2), "#1"); Assert.IsTrue(c.Equals(t1, t3), "#2"); Assert.IsTrue(c.Equals(t1, t4), "#3"); Assert.IsTrue(c.Equals(null, null), "#4"); Assert.IsFalse(c.Equals(null, t1), "#5"); Assert.IsFalse(c.Equals(t1, null), "#6"); }