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)); }
public void ClassIntegerShouldReturn314() { var _class = new Class(); var actual = _class.GetInteger(); var expected = 314; Assert.True(actual == expected); }