Esempio n. 1
0
 public void Concatenation()
 {
     foreach (var r1 in someRopes)
     {
         foreach (var r2 in someRopes)
         {
             foreach (var r3 in someRopes)
             {
                 Rope c1 = Rope.Concat(r1, Rope.Concat(r2, r3));
                 Rope c2 = Rope.Concat(Rope.Concat(r1, r2), r3);
                 Assert.Equal(c1, c2); // associative
                 Assert.Equal(c1.GetHashCode(), c2.GetHashCode());
                 string s = r1.ToString() + r2.ToString() + r3.ToString();
                 Assert.Equal(c1.ToString(), s);
                 Assert.Equal(c2.ToString(), s);
                 Rope c3 = Rope.ForString(s);
                 Assert.Equal(c1.GetHashCode(), c3.GetHashCode());
                 Assert.Equal(c1, c3);
                 Assert.Equal(c2, c3);
                 Assert.Equal(c3.ToString(), s);
             }
         }
     }
 }
 public override int GetHashCode() =>
 Hash.Combine(base.GetHashCode(), _value.GetHashCode());