コード例 #1
0
ファイル: UnsafeCastTests.cs プロジェクト: mindis/Spreads
        public unsafe void DateTimeIsBlittable()
        {
            var dest   = (OwnedBuffer <byte>) new byte[10000];
            var buffer = dest.Buffer;
            var handle = buffer.Pin();
            var ptr    = (IntPtr)handle.PinnedPointer;

            Assert.IsTrue(TypeHelper <StructWithDateTime> .Size > 0);
            Assert.IsTrue(TypeHelper <KVPair <long, double> > .Size > 0);

            var str = new StructWithDateTime();

            str.Dt            = DateTime.Today.AddTicks(1);
            str.Dbl           = 123.4;
            str.Default.Value = DateTime.Today.AddTicks(1);


            TypeHelper <StructWithDateTime> .Write(str, ref buffer, 0);

            var str2 = default(StructWithDateTime);

            TypeHelper <StructWithDateTime> .Read(ptr, out str2);

            Assert.AreEqual(str.Dt, str2.Dt);
            Assert.AreEqual(str.Dbl, str2.Dbl);
            Assert.AreEqual(str.Default.Value, str2.Default.Value);
        }
コード例 #2
0
        public void DateTimeIsBlittable()
        {
            var ptr    = Marshal.AllocHGlobal(10000);
            var buffer = new DirectBuffer(10000, ptr);

            Assert.IsTrue(TypeHelper <StructWithDateTime> .Size > 0);
            Assert.IsTrue(TypeHelper <KVPair <long, double> > .Size > 0);

            var str = new StructWithDateTime();

            str.Dt            = DateTime.Today.AddTicks(1);
            str.Dbl           = 123.4;
            str.Default.Value = DateTime.Today.AddTicks(1);


            TypeHelper <StructWithDateTime> .Write(str, ref buffer, 0);

            var str2 = default(StructWithDateTime);

            TypeHelper <StructWithDateTime> .Read(ptr, ref str2);

            Assert.AreEqual(str.Dt, str2.Dt);
            Assert.AreEqual(str.Dbl, str2.Dbl);
            Assert.AreEqual(str.Default.Value, str2.Default.Value);
        }
コード例 #3
0
        public void DateTimeIsBlittable()
        {
            var ptr = Marshal.AllocHGlobal(10000);

            Assert.IsTrue(TypeHelper <StructWithDateTime> .Size > 0);
            Assert.IsTrue(TypeHelper <KVPair <long, double> > .Size > 0);

            var str = new StructWithDateTime();

            str.Dt            = DateTime.Today.AddTicks(1);
            str.Dbl           = 123.4;
            str.Default.Value = DateTime.Today.AddTicks(1);


            TypeHelper <StructWithDateTime> .StructureToPtr(str, ptr);

            var str2 = TypeHelper <StructWithDateTime> .PtrToStructure(ptr);

            Assert.AreEqual(str.Dt, str2.Dt);
            Assert.AreEqual(str.Dbl, str2.Dbl);
            Assert.AreEqual(str.Default.Value, str2.Default.Value);
        }