public void MarshalSerializerTest() { var testClass = new ClassForTestsOfMarshalSerializer { B = 1, UsBe = 2, UsLe = 3, SBe = -3, SLe = -4, UiBe = 5, UiLe = 6, IBe = -7, ILe = 8, UlBe = 9, UlLe = 10, LBe = -11, LLe = -12, FBe = 1.2345f, FLe = -2.3456f, DBe = 3.4567, DLe = -4.5678f, Array = new byte[64] }; for (int i = 0; i < 64; i++) { testClass.Array[i] = (byte)i; } var buf = MarshalSerializer.RawSerialize(testClass); var deserializedObject = MarshalSerializer.RawDeserialize <ClassForTestsOfMarshalSerializer>(buf); Assert.AreEqual(testClass.B, deserializedObject.B); Assert.AreEqual(testClass.UsBe, deserializedObject.UsBe); Assert.AreEqual(testClass.UsLe, deserializedObject.UsLe); Assert.AreEqual(testClass.SBe, deserializedObject.SBe); Assert.AreEqual(testClass.SLe, deserializedObject.SLe); Assert.AreEqual(testClass.UiBe, deserializedObject.UiBe); Assert.AreEqual(testClass.UiLe, deserializedObject.UiLe); Assert.AreEqual(testClass.IBe, deserializedObject.IBe); Assert.AreEqual(testClass.ILe, deserializedObject.ILe); Assert.AreEqual(testClass.UlBe, deserializedObject.UlBe); Assert.AreEqual(testClass.UlLe, deserializedObject.UlLe); Assert.AreEqual(testClass.LBe, deserializedObject.LBe); Assert.AreEqual(testClass.LLe, deserializedObject.LLe); Assert.AreEqual(testClass.FBe, deserializedObject.FBe); Assert.AreEqual(testClass.FLe, deserializedObject.FLe); Assert.AreEqual(testClass.DBe, deserializedObject.DBe); Assert.AreEqual(testClass.DLe, deserializedObject.DLe); Assert.AreEqual(testClass.Array.Length, deserializedObject.Array.Length); for (int i = 0; i < 64; i++) { Assert.AreEqual(testClass.Array[i], deserializedObject.Array[i]); } }