public void TestSerializationCslaBinaryReaderWriter()
        {
            UnitTestContext context = GetContext();

            var test = new BinaryReaderWriterTestClass();
            BinaryReaderWriterTestClass result;

            test.Setup();
            var serialized          = MobileFormatter.SerializeToDTO(test);
            CslaBinaryWriter writer = new CslaBinaryWriter();

            byte[] data;
            using (var stream = new MemoryStream())
            {
                writer.Write(stream, serialized);
                data = stream.ToArray();
            }

            CslaBinaryReader reader = new CslaBinaryReader();

            using (var stream = new MemoryStream(data))
            {
                var deserialized = reader.Read(stream);
                result = (BinaryReaderWriterTestClass)MobileFormatter.DeserializeFromDTO(deserialized);
            }
            context.Assert.AreEqual(test.BoolTest, result.BoolTest);
            context.Assert.AreEqual(test.ByteArrayTest.Length, result.ByteArrayTest.Length);
            for (int i = 0; i < test.ByteArrayTest.Length; i++)
            {
                context.Assert.AreEqual(test.ByteArrayTest[i], result.ByteArrayTest[i]);
            }

            context.Assert.AreEqual(test.ByteTest, result.ByteTest);
            context.Assert.AreEqual(test.CharArrayTest.Length, result.CharArrayTest.Length);
            for (int i = 0; i < test.CharArrayTest.Length; i++)
            {
                context.Assert.AreEqual(test.CharArrayTest[i], result.CharArrayTest[i]);
            }

            context.Assert.AreEqual(test.CharTest, result.CharTest);
            context.Assert.AreEqual(test.DateTimeOffsetTest, result.DateTimeOffsetTest);
            context.Assert.AreEqual(test.DateTimeTest, result.DateTimeTest);
            context.Assert.AreEqual(test.DecimalTest, result.DecimalTest);
            context.Assert.AreEqual(test.DoubleTest, result.DoubleTest);
            context.Assert.AreEqual(test.EnumTest, result.EnumTest);
            context.Assert.AreEqual(test.GuidTest, result.GuidTest);
            context.Assert.AreEqual(test.Int16Test, result.Int16Test);
            context.Assert.AreEqual(test.Int32Test, result.Int32Test);
            context.Assert.AreEqual(test.Int64Test, result.Int64Test);
            context.Assert.AreEqual(test.SByteTest, result.SByteTest);
            context.Assert.AreEqual(test.SingleTest, result.SingleTest);
            context.Assert.AreEqual(test.StringTest, result.StringTest);
            context.Assert.AreEqual(test.TimeSpanTest, result.TimeSpanTest);
            context.Assert.AreEqual(test.UInt16Test, result.UInt16Test);
            context.Assert.AreEqual(test.UInt32Test, result.UInt32Test);
            context.Assert.AreEqual(test.UInt64Test, result.UInt64Test);
            context.Assert.AreEqual(test.NullableButSetInt, result.NullableButSetInt);
            context.Assert.IsNull(test.NullableInt);
            context.Assert.IsNull(result.NullableInt);

            context.Assert.AreEqual(test.EmptySmartDateTest, result.EmptySmartDateTest);
            context.Assert.AreEqual(test.EmptySmartDateTest.FormatString, result.EmptySmartDateTest.FormatString);
            context.Assert.AreEqual(test.EmptySmartDateTest.EmptyIsMin, result.EmptySmartDateTest.EmptyIsMin);
            context.Assert.AreEqual(test.EmptySmartDateTest.IsEmpty, result.EmptySmartDateTest.IsEmpty);
            context.Assert.AreEqual(test.EmptySmartDateTest.Date, result.EmptySmartDateTest.Date);

            context.Assert.AreEqual(test.FilledSmartDateTest, result.FilledSmartDateTest);
            context.Assert.AreEqual(test.FilledSmartDateTest.FormatString, result.FilledSmartDateTest.FormatString);
            context.Assert.AreEqual(test.FilledSmartDateTest.EmptyIsMin, result.FilledSmartDateTest.EmptyIsMin);
            context.Assert.AreEqual(test.FilledSmartDateTest.IsEmpty, result.FilledSmartDateTest.IsEmpty);
            context.Assert.AreEqual(test.FilledSmartDateTest.Date, result.FilledSmartDateTest.Date);

            context.Assert.Success();
            context.Complete();
        }
Exemple #2
0
		public void TestSerializationCslaBinaryReaderWriter()
		{
			UnitTestContext context = GetContext();

			var test = new BinaryReaderWriterTestClass();
			BinaryReaderWriterTestClass result;
			test.Setup();
			var serialized = MobileFormatter.SerializeToDTO(test);
			CslaBinaryWriter writer = new CslaBinaryWriter();
			byte[] data;
			using (var stream = new MemoryStream())
			{
				writer.Write(stream, serialized);
				data = stream.ToArray();
			}

			CslaBinaryReader reader = new CslaBinaryReader();
			using (var stream = new MemoryStream(data))
			{
				var deserialized = reader.Read(stream);
				result = (BinaryReaderWriterTestClass)MobileFormatter.DeserializeFromDTO(deserialized);
			}
			context.Assert.AreEqual(test.BoolTest, result.BoolTest);
			context.Assert.AreEqual(test.ByteArrayTest.Length, result.ByteArrayTest.Length);
			for (int i = 0; i < test.ByteArrayTest.Length; i++)
			{
				context.Assert.AreEqual(test.ByteArrayTest[i], result.ByteArrayTest[i]);
			}

			context.Assert.AreEqual(test.ByteTest, result.ByteTest);
			context.Assert.AreEqual(test.CharArrayTest.Length, result.CharArrayTest.Length);
			for (int i = 0; i < test.CharArrayTest.Length; i++)
			{
				context.Assert.AreEqual(test.CharArrayTest[i], result.CharArrayTest[i]);
			}

			context.Assert.AreEqual(test.CharTest, result.CharTest);
			context.Assert.AreEqual(test.DateTimeOffsetTest, result.DateTimeOffsetTest);
			context.Assert.AreEqual(test.DateTimeTest, result.DateTimeTest);
			context.Assert.AreEqual(test.DecimalTest, result.DecimalTest);
			context.Assert.AreEqual(test.DoubleTest, result.DoubleTest);
			context.Assert.AreEqual(test.EnumTest, result.EnumTest);
			context.Assert.AreEqual(test.GuidTest, result.GuidTest);
			context.Assert.AreEqual(test.Int16Test, result.Int16Test);
			context.Assert.AreEqual(test.Int32Test, result.Int32Test);
			context.Assert.AreEqual(test.Int64Test, result.Int64Test);
			context.Assert.AreEqual(test.SByteTest, result.SByteTest);
			context.Assert.AreEqual(test.SingleTest, result.SingleTest);
			context.Assert.AreEqual(test.StringTest, result.StringTest);
			context.Assert.AreEqual(test.TimeSpanTest, result.TimeSpanTest);
			context.Assert.AreEqual(test.UInt16Test, result.UInt16Test);
			context.Assert.AreEqual(test.UInt32Test, result.UInt32Test);
			context.Assert.AreEqual(test.UInt64Test, result.UInt64Test);
			context.Assert.AreEqual(test.NullableButSetInt, result.NullableButSetInt);
			context.Assert.IsNull(test.NullableInt);
			context.Assert.IsNull(result.NullableInt);

			context.Assert.AreEqual(test.EmptySmartDateTest, result.EmptySmartDateTest);
			context.Assert.AreEqual(test.EmptySmartDateTest.FormatString, result.EmptySmartDateTest.FormatString);
			context.Assert.AreEqual(test.EmptySmartDateTest.EmptyIsMin, result.EmptySmartDateTest.EmptyIsMin);
			context.Assert.AreEqual(test.EmptySmartDateTest.IsEmpty, result.EmptySmartDateTest.IsEmpty);
			context.Assert.AreEqual(test.EmptySmartDateTest.Date, result.EmptySmartDateTest.Date);

			context.Assert.AreEqual(test.FilledSmartDateTest, result.FilledSmartDateTest);
			context.Assert.AreEqual(test.FilledSmartDateTest.FormatString, result.FilledSmartDateTest.FormatString);
			context.Assert.AreEqual(test.FilledSmartDateTest.EmptyIsMin, result.FilledSmartDateTest.EmptyIsMin);
			context.Assert.AreEqual(test.FilledSmartDateTest.IsEmpty, result.FilledSmartDateTest.IsEmpty);
			context.Assert.AreEqual(test.FilledSmartDateTest.Date, result.FilledSmartDateTest.Date);

			context.Assert.Success();
			context.Complete();
		}