public void Create_WithConcreteObjects_CreatesObject() { InheritingClass inheriting = new InheritingClass(42, "Name", DateTime.MinValue); InheritingClassBase inheritingBase = new InheritingClassBase(DateTime.MinValue); InheritingClassUser expected = new InheritingClassUser(inheriting, inheritingBase); var values = new { inheriting, inheritingBase }; var actual = initializer.Create <InheritingClassUser>(values); actual.Should().BeEquivalentTo(expected); }
public void Create_WithAnonymousObjects_CreatesObject() { InheritingClass inheriting = new InheritingClass(42, "Name", DateTime.MinValue); InheritingClassBase inheritingBase = new InheritingClassBase(DateTime.MinValue); InheritingClassUser expected = new InheritingClassUser(inheriting, inheritingBase); var values = new { inheriting = new { Foo = inheriting.Foo, Bar = inheriting.Bar, Baz = inheriting.Baz }, inheritingBase = new { Baz = DateTime.MinValue } }; var actual = initializer.Create <InheritingClassUser>(values); actual.Should().BeEquivalentTo(expected); }