Exemple #1
0
        public unsafe void SwapClass()
        {
            // マーシャル通して同じ結果になるか
            var src = new Class();
            var srcbin = new byte[Marshal.SizeOf(src)];
            ByteOrder.MarshalAssign(srcbin, 0, src);
            var extbin = (byte[])srcbin.Clone();
            ByteOrder.Swap(extbin, 0, typeof(Class));
            var ext = ByteOrder.MarshalTo<Class>(extbin, 0);

            Assert.AreEqual(src.bt, true);
            Assert.AreEqual(src.bf, false);
            Assert.AreEqual(src.s8, unchecked((sbyte)0x88));
            Assert.AreEqual(src.u8, unchecked((byte)0x88));
            Assert.AreEqual(src.eu8, EnumU8.Value);
            Assert.AreEqual(src.es8, EnumS8.Value);

            Assert.AreEqual(src.s8, ext.s8);
            Assert.AreEqual(src.s16, ByteOrder.Swap(ext.s16));
            Assert.AreEqual(src.s32, ByteOrder.Swap(ext.s32));
            Assert.AreEqual(src.s64, ByteOrder.Swap(ext.s64));
            Assert.AreEqual(src.u8, ext.u8);
            Assert.AreEqual(src.u16, ByteOrder.Swap(ext.u16));
            Assert.AreEqual(src.u32, ByteOrder.Swap(ext.u32));
            Assert.AreEqual(src.u64, ByteOrder.Swap(ext.u64));

            Assert.AreEqual((byte)src.eu8, (byte)ext.eu8);
            Assert.AreEqual((UInt16)src.eu16, ByteOrder.Swap((UInt16)ext.eu16));
            Assert.AreEqual((UInt32)src.eu32, ByteOrder.Swap((UInt32)ext.eu32));
            Assert.AreEqual((UInt64)src.eu64, ByteOrder.Swap((UInt64)ext.eu64));
            Assert.AreEqual((sbyte)src.es8, (sbyte)ext.es8);
            Assert.AreEqual((Int16)src.es16, ByteOrder.Swap((Int16)ext.es16));
            Assert.AreEqual((Int32)src.es32, ByteOrder.Swap((Int32)ext.es32));
            Assert.AreEqual((Int64)src.es64, ByteOrder.Swap((Int64)ext.es64));
        }
Exemple #2
0
 public void ClassIntegerShouldReturn314()
 {
     var _class = new Class();
     var actual = _class.GetInteger();
     var expected = 314;
     Assert.True(actual == expected);
 }