public void WithSourceAddress() { var factory = MappingBuilder.DiscoverIn <Employee>().BuildFactory(); var mapper = factory.Create <Employee, EmployeeView>(); var source = new Employee { FirstName = "Homer", LastName = "Simpson", Age = 40, IsMale = true, HomeAddress = new Address { HouseNumber = 742, Street = "Evergreen Terrace", Town = "Springfield" } }; var target = mapper.Map(source); target.FirstName.ShouldBe(source.FirstName); target.LastName.ShouldBe(source.LastName); target.Age.ShouldBe(source.Age); target.IsMale.ShouldBe(source.IsMale); target.HomeAddress.ShouldBe("742 Evergreen Terrace, Springfield"); }
public void MappingBuilder_SameAssemblyAddedTwice_AndDiscoverIn_ThrowsException() { var exception = Should.Throw<ArgumentException>(() => MappingBuilder.DiscoverIn<MappingBuilderTests>().AndDiscoverIn<MappingFactoryTests>()); exception.Message.ShouldStartWith("Already added mappings in assembly HyperMap.Tests"); }
public void MappingFactoryExtensions_WithMappingFactory_RegisterWith_ReturnsMappingFactory() { var services = new ServiceCollection(); var factory = MappingBuilder.DiscoverIn <User>().BuildFactory().RegisterWith(services); factory.ShouldNotBeNull(); }
public void MappingFactoryExtensions_WithMappingFactory_RegisterWith_AddsMappersIntoCollection() { var services = new ServiceCollection(); MappingBuilder.DiscoverIn <User>().BuildFactory().RegisterWith(services); var provider = services.BuildServiceProvider(); var mapper2 = provider.GetService <IMapper <User, UserView> >(); mapper2.ShouldNotBeNull(); }
public void MappingBuilder_WithCustomNamespace_BuildFactory_ReturnsFactory() { var options = new CompilerOptions { AssemblyName = "Test.Mappings" }; var factory = MappingBuilder.DiscoverIn<MappingBuilderTests>().BuildFactory(options); factory.ShouldNotBeNull(); }
public void MappingFactoryExtensions_WithMappingFactory_RegisterWith_CollectionInstanceMatchesFactory() { var services = new ServiceCollection(); var factory = MappingBuilder.DiscoverIn <User>().BuildFactory().RegisterWith(services); var mapper1 = factory.Create <User, UserView>(); var provider = services.BuildServiceProvider(); var mapper2 = provider.GetService <IMapper <User, UserView> >(); mapper2.ShouldBe(mapper1); }
public void WithSourceEnum() { var factory = MappingBuilder.DiscoverIn <Login>().BuildFactory(); var mapper = factory.Create <Login, LoginView>(); var source = new Login { Name = "homer.simpson", States = LoginStates.Locked }; var target = mapper.Map(source); target.Name.ShouldBe(source.Name); target.State.ShouldBe(source.States.ToString()); }
public void WithCustomConverter() { var factory = MappingBuilder.DiscoverIn <Address>().BuildFactory(); var mapper = factory.Create <Address, SingleLineAddressView>(); var source = new Address { HouseNumber = 742, Street = "Evergreen Terrace", Town = "Springfield" }; var target = mapper.Map(source); target.Display.ShouldBe("742 Evergreen Terrace, Springfield"); }
public void WithDefaultConverters() { var factory = MappingBuilder.DiscoverIn <Address>().BuildFactory(); var mapper = factory.Create <Address, AddressView>(); var source = new Address { HouseNumber = 742, Street = "Evergreen Terrace", Town = "Springfield" }; var target = mapper.Map(source); target.HouseNumber.ShouldBe(source.HouseNumber.ToString()); target.Street.ShouldBe(source.Street); target.Town.ShouldBe(source.Town); }
public void WithList() { var factory = MappingBuilder.DiscoverIn <Customer>().BuildFactory(); var mapper = factory.Create <Customer, CustomerListView>(); var source = new Customer { Name = "Homer Simpson", Orders = new[] { new Order { Id = 101, Description = "Slippers", Quantity = 1 }, new Order { Id = 201, Description = "Socks", Quantity = 3 } } }; var target = mapper.Map(source); target.Name.ShouldBe(source.Name); var firstSourceOrder = source.Orders.First(); var firstTargetOrder = target.Orders.First(); firstTargetOrder.Id.ShouldBe(firstSourceOrder.Id); firstTargetOrder.Description.ShouldBe(firstSourceOrder.Description); firstTargetOrder.Quantity.ShouldBe(firstSourceOrder.Quantity); var secondSourceOrder = source.Orders.First(); var secondTargetOrder = target.Orders.First(); secondTargetOrder.Id.ShouldBe(secondSourceOrder.Id); secondTargetOrder.Description.ShouldBe(secondSourceOrder.Description); secondTargetOrder.Quantity.ShouldBe(secondSourceOrder.Quantity); }
public void MappingBuilder_WithDefaultOptions_BuildFactory_ReturnsFactory() { var factory = MappingBuilder.DiscoverIn<MappingBuilderTests>().BuildFactory(); factory.ShouldNotBeNull(); }