Ejemplo n.º 1
0
 public void GetBuffer_UseGeneric()
 {
     var binarySerializer = new BinarySerializer();
     var buffer = binarySerializer.GetBuffer(new TestHelpers.Customer(32));
     var customer = binarySerializer.Deserializer<Customer>(buffer);
     Assert.IsInstanceOfType(customer, typeof(Customer));
 }
Ejemplo n.º 2
0
 public void GetBufferTest()
 {
     var binarySerializer = new BinarySerializer();
     var buffer = binarySerializer.GetBuffer(new TestHelpers.Customer(21));
     var customer = binarySerializer.Deserializer(buffer, typeof(Customer));
     Assert.IsInstanceOfType(customer, typeof(Customer));
 }
Ejemplo n.º 3
0
        public void DeserializeTest()
        {
            BinarySerializer serializer = new BinarySerializer();
            var data = new List<string>() { "f", "s" };
            MemoryStream stream = serializer.Serialize(data);
            var obj2 = serializer.Deserializer<List<string>>(stream);

            Assert.AreEqual(data[0], obj2[0]);
        }
Ejemplo n.º 4
0
 public void Call_SerializeandDeserialisedMethodInfo_Method_Successful()
 {
     var customer = new Customer(-1);
     var method = typeof(Customer).GetMethod("UpdateName");
     var binarySerializer = new BinarySerializer();
     var buffer = binarySerializer.GetBuffer(method);
     var methodInfo = (MethodInfo)binarySerializer.Deserializer(buffer, typeof(MethodInfo));
     Assert.IsInstanceOfType(methodInfo, typeof(MethodInfo));
     Assert.AreEqual("UpdateName", methodInfo.Name);
     object[] parameters = new object[1];
     parameters[0] = "XXXX";
     var result = methodInfo.Invoke(customer, parameters);
     Assert.AreEqual("XXXX", customer.Lastname);
 }
Ejemplo n.º 5
0
        private static MethodInfo UnPackNetMQFrame(
            int FrameCount,
            ref bool stopSignal,
            BinarySerializer serializer,
            NetMQFrame frame,
            MethodInfo methodinfo,
            List<object> methodParameters,
            ref bool typeParameter,
            ref Type type)
        {
            string address;
            byte[] messageAsBytes;
            int numberOfParameters;
            if (FrameCount == 0)
            {
                address = serializer.GetString(frame.Buffer);
            }

            if (FrameCount == 1)
            {
                messageAsBytes = frame.Buffer;
                string stopMessage = serializer.GetString(messageAsBytes);
                if (stopMessage.ToLower() == "stop")
                {
                    stopSignal = true;
                }
            }

            if (FrameCount == 2)
            {
                methodinfo = (MethodInfo)serializer.Deserializer(frame.Buffer, typeof(MethodInfo));
            }

            if (FrameCount == 3)
            {
                numberOfParameters = int.Parse(serializer.GetString(frame.Buffer).Replace("ParameterCount:", string.Empty));
            }

            if (FrameCount > 3)
            {
                if (typeParameter)
                {
                    type = (Type)serializer.Deserializer(frame.Buffer, typeof(Type));
                    typeParameter = false;
                }
                else
                {
                    var parameter = serializer.Deserializer(frame.Buffer, type);
                    methodParameters.Add(parameter);
                    typeParameter = true;
                }
            }
            return methodinfo;
        }
Ejemplo n.º 6
0
 public void SerializeMethodInfo()
 {
     var customer = new Customer(12);
     var method = typeof(Customer).GetMethod("UpdateName");
     var binarySerializer = new BinarySerializer();
     var buffer = binarySerializer.GetBuffer(method);
     var methodInfo = (MethodInfo)binarySerializer.Deserializer(buffer, typeof(MethodInfo));
     Assert.IsInstanceOfType(methodInfo, typeof(MethodInfo));
     Assert.AreEqual("UpdateName", methodInfo.Name);
     Assert.AreEqual(method, methodInfo);
 }