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]); } }
public void Validate_MarshalSeriazlier() { SimpleStruct data = new SimpleStruct(); MarshalSerializer <SimpleStruct> serializer = new MarshalSerializer <SimpleStruct>(); var bytes = serializer.ObjectToBytes(data); var result = serializer.BytesToObject(bytes); Assert.AreEqual(data.Num, result.Num); Assert.AreEqual(data.Age, result.Age); Assert.AreEqual(data.False, result.False); Assert.AreEqual(data.La, result.La); }
private IKeyValueStore <Guid, Book> CreateStore(KeyValuePair <Guid, Book>[] randomData, Mode mode) { using (logger.BeginTimedOperation("Create store with " + randomData.Length + " items", mode.ToString())) { switch (mode) { case Mode.FileIndexKeyValueStorageNewtonsoft: { var serializer = new JsonSerializer <Book>(); return(CreateFileIndexKeyValueStorage(randomData, serializer, "temp.raw")); } case Mode.FileIndexKeyValueStorageProtobuf: { var serializer = new ProtobufSerializer <Book>(); return(CreateFileIndexKeyValueStorage(randomData, serializer, "temp2.raw")); } case Mode.FileIndexKeyValueStorageMarshal: { var serializer = new MarshalSerializer <Book>(); return(CreateFileIndexKeyValueStorage(randomData, serializer, "temp4.raw")); } case Mode.InMemory: { return(new InMemoryKeyValueStorage <Guid, Book>(randomData)); } default: throw new Exception("Unexpected storage mode: " + mode); } } }