public void TypeWithIDictionaryTest()
        {
            var orig = new TypeWithIDictionary {
                Data = new Dictionary <string, decimal> {
                    { "abc", 123.45M }
                }
            };
            var model = TypeModel.Create();
            var clone = (TypeWithIDictionary)model.DeepClone(orig);

            Assert.Equal(1, clone.Data.Count);
            Assert.Equal(123.45M, clone.Data["abc"]); //, "Runtime");

            model.Compile("TypeWithIDictionary", "TypeWithIDictionary.dll");
            PEVerify.Verify("TypeWithIDictionary.dll");

            model.CompileInPlace();
            clone = (TypeWithIDictionary)model.DeepClone(orig);
            Assert.Equal(1, clone.Data.Count);
            Assert.Equal(123.45M, clone.Data["abc"]); //, "Runtime");

            clone = (TypeWithIDictionary)model.Compile().DeepClone(orig);
            Assert.Equal(1, clone.Data.Count);
            Assert.Equal(123.45M, clone.Data["abc"]); //, "Runtime");
        }
        public void TypeWithIDictionaryTest()
        {
            var orig = new TypeWithIDictionary { Data = new Dictionary<string, decimal> { { "abc", 123.45M } } };
            var model = TypeModel.Create();
            var clone = (TypeWithIDictionary)model.DeepClone(orig);
            Assert.AreEqual(1, clone.Data.Count);
            Assert.AreEqual(123.45M, clone.Data["abc"], "Runtime");

            model.Compile("TypeWithIDictionary", "TypeWithIDictionary.dll");
            PEVerify.Verify("TypeWithIDictionary.dll");

            model.CompileInPlace();
            clone = (TypeWithIDictionary)model.DeepClone(orig);
            Assert.AreEqual(1, clone.Data.Count);
            Assert.AreEqual(123.45M, clone.Data["abc"], "Runtime");

            clone = (TypeWithIDictionary)model.Compile().DeepClone(orig);
            Assert.AreEqual(1, clone.Data.Count);
            Assert.AreEqual(123.45M, clone.Data["abc"], "Runtime");
        }