コード例 #1
0
ファイル: Mocks.cs プロジェクト: McManning/SharpRNA
        public static IntPtr GetNativeTestPrimitivesPtr()
        {
            if (primitivesPtr != IntPtr.Zero)
            {
                return(primitivesPtr);
            }

            var test = new TestPrimitives
            {
                floatVal = 0.14f,
                intVal   = 14,
                byteVal1 = 15,
                byteVal2 = 16,
                shortVal = 17,
                x        = 1f,
                y        = 0,
                z        = -1f
            };

            primitivesPtr = Marshal.AllocHGlobal(Marshal.SizeOf <TestPrimitives>());
            Marshal.StructureToPtr(test, primitivesPtr, false);

            Console.WriteLine("[Mocks] TestPrimitives size: " + Marshal.SizeOf <TestPrimitives>());
            return(primitivesPtr);
        }
コード例 #2
0
        public void TestSerializationDeserializationPrimitives()
        {
            Serializer serializer = new Serializer();

            serializer.Initialize();

            TestPrimitives source = new TestPrimitives()
            {
                b1 = byte.MinValue, b2 = byte.MaxValue, sb1 = sbyte.MinValue, sb2 = sbyte.MaxValue,
                s1 = short.MinValue, s2 = short.MaxValue, us1 = ushort.MinValue, us2 = ushort.MaxValue,
                i1 = int.MinValue, i2 = int.MaxValue, u1 = uint.MinValue, u2 = uint.MaxValue,
                f  = (float)System.Math.PI, d = System.Math.PI, c1 = char.MinValue, c2 = char.MaxValue, s = "foo"
            };
            object         intermediate = serializer.Serialize(source, true);
            TestPrimitives result       = (TestPrimitives)serializer.Deserialize(intermediate);

            foreach (var member in TypeUtils.GetMembers(source))
            {
                object sobj = TypeUtils.GetValue(member, source);
                object robj = TypeUtils.GetValue(member, result);
                Assert.IsTrue(sobj.Equals(robj));
            }

            serializer.Release();
        }
コード例 #3
0
        public void TestSerializationDeserializationPrimitives()
        {
            Serializer serializer = new Serializer();
            serializer.Initialize();

            TestPrimitives source = new TestPrimitives() {
                b1 = byte.MinValue, b2 = byte.MaxValue, sb1 = sbyte.MinValue, sb2 = sbyte.MaxValue,
                s1 = short.MinValue, s2 = short.MaxValue, us1 = ushort.MinValue, us2 = ushort.MaxValue,
                i1 = int.MinValue, i2 = int.MaxValue, u1 = uint.MinValue, u2 = uint.MaxValue,
                f = (float)System.Math.PI, d = System.Math.PI, c1 = char.MinValue, c2 = char.MaxValue, s = "foo" };
            object intermediate = serializer.Serialize(source, true);
            TestPrimitives result = (TestPrimitives) serializer.Deserialize(intermediate);

            foreach (var member in TypeUtils.GetMembers(source)) {
                object sobj = TypeUtils.GetValue(member, source);
                object robj = TypeUtils.GetValue(member, result);
                Assert.IsTrue(sobj.Equals(robj));
            }

            serializer.Release();
        }