public void DynamicMixinCanMapInShapshotMode() { dynamic foo = new FooDynamic(); foo.Name = "Foo"; dynamic bar = new BarDynamic(); bar.Name = "Bar"; bar.Tag = 1; bar.Boo = "boo"; ((IMapper)foo).MapTo((IMapper)bar, true); Assert.AreEqual("Foo", bar.Name); Assert.AreEqual(null, bar.Tag); Assert.AreEqual(null, bar.Boo); }
public void DynamicMixinCanGetPropertyType() { dynamic foo = new FooDynamic(); foo.Name = "Foo"; foo.Boo = 1; var fooMixin = (IMixin)foo; Assert.AreEqual(typeof(string), fooMixin.GetPropertyType("Name")); Assert.AreEqual(typeof(int), fooMixin.GetPropertyType("Boo")); foo.Boo = DateTime.Now; Assert.AreEqual(typeof(DateTime), fooMixin.GetPropertyType("Boo")); foo.Boo = null; Assert.AreEqual(null, fooMixin.GetPropertyType("Boo")); }
public void DynamicMixinCanMap() { dynamic foo = new FooDynamic(); foo.Name = "Foo"; foo.Age = 1; foo.Tag = 1; dynamic bar = new BarDynamic(); bar.Name = "Bar"; bar.Age = 2; bar.Tag = "tag"; ((IMapper)foo).MapTo((IMapper)bar); Assert.AreEqual("Foo", bar.Name); Assert.AreEqual(1, bar.Age); Assert.AreEqual("tag", bar.Tag); }