private void averDataAreEqual(TypicalData data, TypicalData got) { Aver.IsNotNull(got); Aver.AreNotSameRef(data, got); Aver.AreEqual(data.Guid, got.Guid); Aver.AreEqual(data.True, got.True); Aver.AreEqual(data.False, got.False); Aver.AreEqual(data.CharMin, got.CharMin); Aver.AreEqual(data.CharMax, got.CharMax); Aver.AreEqual(data.SByteMin, got.SByteMin); Aver.AreEqual(data.SByteMax, got.SByteMax); Aver.AreEqual(data.ByteMin, got.ByteMin); Aver.AreEqual(data.ByteMax, got.ByteMax); Aver.AreEqual(data.Int16Min, got.Int16Min); Aver.AreEqual(data.Int16Max, got.Int16Max); Aver.AreEqual(data.UInt16Min, got.UInt16Min); Aver.AreEqual(data.UInt16Max, got.UInt16Max); Aver.AreEqual(data.Int32Min, got.Int32Min); Aver.AreEqual(data.Int32Max, got.Int32Max); Aver.AreEqual(data.UInt32Min, got.UInt32Min); Aver.AreEqual(data.UInt32Max, got.UInt32Max); Aver.AreEqual(data.Int64Min, got.Int64Min); Aver.AreEqual(data.Int64Max, got.Int64Max); Aver.AreEqual(data.UInt64Min, got.UInt64Min); Aver.AreEqual(data.UInt64Max, got.UInt64Max); Aver.AreEqual(data.SingleEps, got.SingleEps); Aver.AreEqual(data.SingleMin, got.SingleMin); Aver.AreEqual(data.SingleMax, got.SingleMax); Aver.AreEqual(data.SingleNaN, got.SingleNaN); Aver.AreEqual(data.SinglePosInf, got.SinglePosInf); Aver.AreEqual(data.SingleNegInf, got.SingleNegInf); Aver.AreEqual(data.DoubleEps, got.DoubleEps); Aver.AreEqual(data.DoubleMin, got.DoubleMin); Aver.AreEqual(data.DoubleMax, got.DoubleMax); Aver.AreEqual(data.DoubleNaN, got.DoubleNaN); Aver.AreEqual(data.DoublePosInf, got.DoublePosInf); Aver.AreEqual(data.DoubleNegInf, got.DoubleNegInf); Aver.AreEqual(data.DecimalMin, got.DecimalMin); Aver.AreEqual(data.DecimalMax, got.DecimalMax); Aver.AreEqual(data.DecimalZero, got.DecimalZero); Aver.AreEqual(data.DecimalOne, got.DecimalOne); Aver.AreEqual(data.DecimalMOne, got.DecimalMOne); Aver.AreEqual(data.DateTimeMin, got.DateTimeMin); Aver.AreEqual(data.DateTimeMax, got.DateTimeMax); Aver.AreEqual(data.DateTimeNow, got.DateTimeNow); Aver.AreEqual(data.DateTimeUtc, got.DateTimeUtc); Aver.AreEqual(data.TimeSpanMin, got.TimeSpanMin); Aver.AreEqual(data.TimeSpanMax, got.TimeSpanMax); Aver.AreEqual(data.StringEmpty, got.StringEmpty); Aver.AreEqual(data.StringNull, got.StringNull); Aver.AreEqual(data.String, got.String); }
public void SerializeTypicalData() { var ser = new BSONSerializer(new BSONTypeResolver(typeof(TypicalData))); var data = new TypicalData { Guid = Guid.NewGuid(), True = true, False = false, CharMin = Char.MinValue, CharMax = Char.MaxValue, SByteMin = SByte.MinValue, SByteMax = SByte.MaxValue, ByteMin = Byte.MinValue, ByteMax = Byte.MaxValue, Int16Min = Int16.MinValue, Int16Max = Int16.MaxValue, UInt16Min = UInt16.MinValue, UInt16Max = UInt16.MaxValue, Int32Min = Int32.MinValue, Int32Max = Int32.MaxValue, UInt32Min = UInt32.MinValue, UInt32Max = UInt32.MaxValue, Int64Min = Int64.MinValue, Int64Max = Int64.MaxValue, UInt64Min = UInt64.MinValue, UInt64Max = UInt64.MaxValue, SingleEps = Single.Epsilon, SingleMin = Single.MinValue, SingleMax = Single.MaxValue, SingleNaN = Single.NaN, SinglePosInf = Single.PositiveInfinity, SingleNegInf = Single.NegativeInfinity, DoubleEps = Double.Epsilon, DoubleMin = Double.MinValue, DoubleMax = Double.MaxValue, DoubleNaN = Double.NaN, DoublePosInf = Double.PositiveInfinity, DoubleNegInf = Double.NegativeInfinity, DecimalMin = RowConverter.MIN_DECIMAL, DecimalMax = RowConverter.MAX_DECIMAL, DecimalZero = Decimal.Zero, DecimalOne = Decimal.One, DecimalMOne = Decimal.MinusOne, DateTimeMin = DateTime.MinValue, DateTimeMax = DateTime.MaxValue, DateTimeNow = DateTime.Now, DateTimeUtc = DateTime.UtcNow, TimeSpanMin = TimeSpan.MinValue, TimeSpanMax = TimeSpan.MaxValue, StringEmpty = String.Empty, StringNull = null, String = "TypicalString", }; var doc = ser.Serialize(data); Console.WriteLine(doc.ToJSON(JSONWritingOptions.PrettyPrint)); Aver.IsTrue(doc.IndexOfName(ser.TypeIDFieldName) >= 0); var got = ser.Deserialize(doc) as TypicalData; averDataAreEqual(data, got); }