コード例 #1
0
 public static void CircularDeepTest()
 {
     DummyClasses.CircularClass a = new DummyClasses.CircularClass();
     DummyClasses.CircularClass b = new DummyClasses.CircularClass();
     a.Reference = b;
     b.Reference = a;
     DummyClasses.CircularClass c = a.Copy(false);
     AssertThat(a.InternallyEquals(c, true)).IsTrue();
 }
コード例 #2
0
 public static void CircularReferenceTest()
 {
     DummyClasses.CircularClass a = new DummyClasses.CircularClass();
     DummyClasses.CircularClass b = new DummyClasses.CircularClass();
     a.Reference = b;
     b.Reference = a;
     DummyClasses.CircularClass ac = a.Copy(true);
     AssertThat(ac.Reference.Reference).IsSameAs(ac);
 }
コード例 #3
0
        public static void CircularShallowTest()
        {
            DummyClasses.CircularClass a = new DummyClasses.CircularClass();
            DummyClasses.CircularClass b = new DummyClasses.CircularClass();
            a.Reference = b;
            b.Reference = a;

            DummyClasses.CircularClass c = a.Copy(false);

            AssertThat(a.GetInternalHashCode(false)).IsEqualTo(c.GetInternalHashCode(false));
            c.Reference = a;
            AssertThat(a.GetInternalHashCode(false)).IsNotEqualTo(c.GetInternalHashCode(false));
        }