Ejemplo n.º 1
0
        public void ReturnsDifferentForDifferentSettings()
        {
            var x  = new ComplexType();
            var y  = new ComplexType();
            var t1 = DiffBuilder.GetOrCreate(x, y, PropertiesSettings.GetOrCreate(ReferenceHandling.Structural));
            var t2 = DiffBuilder.GetOrCreate(x, y, PropertiesSettings.GetOrCreate(ReferenceHandling.Throw));

            Assert.AreNotSame(t1, t2);
        }
Ejemplo n.º 2
0
        public void ReturnsDifferentForDifferentPairs()
        {
            var x = new ComplexType();
            var y = new ComplexType();
            var structuralSettings = PropertiesSettings.GetOrCreate(ReferenceHandling.Structural);

            using (var t1 = DiffBuilder.GetOrCreate(x, y, structuralSettings))
            {
                using (var t2 = DiffBuilder.GetOrCreate(y, x, structuralSettings))
                {
                    Assert.AreNotSame(t1, t2);
                }
            }
        }
Ejemplo n.º 3
0
        public void ReturnsSameWhileAlive()
        {
            var x = new ComplexType();
            var y = new ComplexType();
            var structuralSettings = PropertiesSettings.GetOrCreate(ReferenceHandling.Structural);
            var t1 = DiffBuilder.GetOrCreate(x, y, structuralSettings);
            var t2 = DiffBuilder.GetOrCreate(x, y, structuralSettings);

            Assert.AreSame(t1, t2);
            t1.Dispose();
            t2.Dispose();

            var t4 = DiffBuilder.GetOrCreate(x, y, structuralSettings);

            Assert.AreNotSame(t1, t4);
        }