示例#1
0
        public static void AssertEquality(ComplexEntityWithNestedComplexProperties a, ComplexEntityWithNestedComplexProperties b)
        {
            if (ReferenceEquals(a, b))
            {
                return;
            }

            Assert.IsNotNull(a);
            Assert.IsNotNull(b);

            // Validate ComplexEntity type complex property
            ComplexEntity.AssertEquality(a.ComplexEntity, b.ComplexEntity);

            // Validate Shape type complex property
            Assert.AreEqual(a.ShapeEntity.PartitionKey, b.ShapeEntity.PartitionKey);
            Assert.AreEqual(a.ShapeEntity.RowKey, b.ShapeEntity.RowKey);
            Assert.AreEqual(a.ShapeEntity.Breadth, b.ShapeEntity.Breadth);
            Assert.AreEqual(a.ShapeEntity.Length, b.ShapeEntity.Length);
            Assert.AreEqual(a.ShapeEntity.Name, b.ShapeEntity.Name);

            //Validate simple properties

            Assert.AreEqual(a.String, b.String);
            Assert.AreEqual(a.Int64, b.Int64);
            Assert.AreEqual(a.Int64N, b.Int64N);
            Assert.AreEqual(a.Int64Null, b.Int64Null);
            Assert.AreEqual(a.LongPrimitive, b.LongPrimitive);
            Assert.AreEqual(a.LongPrimitiveN, b.LongPrimitiveN);
            Assert.AreEqual(a.LongPrimitiveNull, b.LongPrimitiveNull);
            Assert.AreEqual(a.Int32, b.Int32);
            Assert.AreEqual(a.Int32N, b.Int32N);
            Assert.AreEqual(a.Int32Null, b.Int32Null);
            Assert.AreEqual(a.IntegerPrimitive, b.IntegerPrimitive);
            Assert.AreEqual(a.integerPrimitiveN, b.IntegerPrimitiveN);
            Assert.AreEqual(a.IntegerPrimitiveNull, b.IntegerPrimitiveNull);
            Assert.AreEqual(a.Guid, b.Guid);
            Assert.AreEqual(a.GuidN, b.GuidN);
            Assert.AreEqual(a.GuidNull, b.GuidNull);
            Assert.AreEqual(a.Double, b.Double);
            Assert.AreEqual(a.DoubleN, b.DoubleN);
            Assert.AreEqual(a.DoubleNull, b.DoubleNull);
            Assert.AreEqual(a.DoublePrimitive, b.DoublePrimitive);
            Assert.AreEqual(a.DoublePrimitiveN, b.DoublePrimitiveN);
            Assert.AreEqual(a.DoublePrimitiveNull, b.DoublePrimitiveNull);
            Assert.AreEqual(a.BinaryPrimitive.GetValue(0), b.BinaryPrimitive.GetValue(0));
            Assert.AreEqual(a.BinaryPrimitive.GetValue(1), b.BinaryPrimitive.GetValue(1));
            Assert.AreEqual(a.BinaryPrimitive.GetValue(2), b.BinaryPrimitive.GetValue(2));
            Assert.AreEqual(a.BinaryPrimitive.GetValue(3), b.BinaryPrimitive.GetValue(3));
            Assert.AreEqual(a.Binary.GetValue(0), b.Binary.GetValue(0));
            Assert.AreEqual(a.Binary.GetValue(1), b.Binary.GetValue(1));
            Assert.AreEqual(a.Binary.GetValue(2), b.Binary.GetValue(2));
            Assert.AreEqual(a.Binary.GetValue(3), b.Binary.GetValue(3));
            Assert.AreEqual(a.BoolPrimitive, b.BoolPrimitive);
            Assert.AreEqual(a.BoolPrimitiveN, b.BoolPrimitiveN);
            Assert.AreEqual(a.BoolPrimitiveNull, b.BoolPrimitiveNull);
            Assert.AreEqual(a.Bool, b.Bool);
            Assert.AreEqual(a.BoolN, b.BoolN);
            Assert.AreEqual(a.BoolNull, b.BoolNull);
            Assert.AreEqual(a.DateTimeOffsetN, b.DateTimeOffsetN);
            Assert.AreEqual(a.DateTimeOffset, b.DateTimeOffset);
            Assert.AreEqual(a.DateTimeOffsetNull, b.DateTimeOffsetNull);
            Assert.AreEqual(a.DateTime, b.DateTime);
            Assert.AreEqual(a.DateTimeN, b.DateTimeN);
            Assert.AreEqual(a.DateTimeNull, b.DateTimeNull);

            // Validate ComplexEntityWithComplexProperties type composite property
            AssertEquality(a.InnerComplexEntityWithNestedComplexProperties, b.InnerComplexEntityWithNestedComplexProperties);
        }