public void TestHasTuplesReversedOrderNaked() { var model = RuntimeTypeModel.Create(); model.AutoCompile = false; var obj = new BasicTupleReversedOrder("abc", 123); CheckBytes(model, obj, "0A 03 61 62 63 10 7B", "runtime"); var clone = (BasicTupleReversedOrder)model.DeepClone(obj); Assert.Equal(123, clone.Foo); //, "runtime"); Assert.Equal("abc", clone.Bar); //, "runtime"); model.Compile("BasicTupleReversedOrder", "BasicTupleReversedOrder.dll"); PEVerify.AssertValid("BasicTupleReversedOrder.dll"); model.CompileInPlace(); CheckBytes(model, obj, "0A 03 61 62 63 10 7B", "CompileInPlace"); clone = (BasicTupleReversedOrder)model.DeepClone(obj); Assert.Equal(123, clone.Foo); //, "CompileInPlace"); Assert.Equal("abc", clone.Bar); //, "CompileInPlace"); var compiled = model.Compile(); CheckBytes(compiled, obj, "0A 03 61 62 63 10 7B", "Compile"); clone = (BasicTupleReversedOrder)compiled.DeepClone(obj); Assert.Equal(123, clone.Foo); //, "Compile"); Assert.Equal("abc", clone.Bar); //, "Compile"); }
public void TestHasTuplesReversedOrderNaked() { var model = RuntimeTypeModel.Create(); model.AutoCompile = false; var obj = new BasicTupleReversedOrder("abc", 123); CheckBytes(model, obj, "0A 03 61 62 63 10 7B", "runtime"); var clone = (BasicTupleReversedOrder)model.DeepClone(obj); Assert.AreEqual(123, clone.Foo, "runtime"); Assert.AreEqual("abc", clone.Bar, "runtime"); model.Compile("BasicTupleReversedOrder", "BasicTupleReversedOrder.dll"); PEVerify.AssertValid("BasicTupleReversedOrder.dll"); model.CompileInPlace(); CheckBytes(model, obj, "0A 03 61 62 63 10 7B", "CompileInPlace"); clone = (BasicTupleReversedOrder)model.DeepClone(obj); Assert.AreEqual(123, clone.Foo, "CompileInPlace"); Assert.AreEqual("abc", clone.Bar, "CompileInPlace"); var compiled = model.Compile(); CheckBytes(compiled, obj, "0A 03 61 62 63 10 7B", "Compile"); clone = (BasicTupleReversedOrder)compiled.DeepClone(obj); Assert.AreEqual(123, clone.Foo, "Compile"); Assert.AreEqual("abc", clone.Bar, "Compile"); }