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