Пример #1
0
        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");
 }
Пример #3
0
        public void MappingFactoryExtensions_WithMappingFactory_RegisterWith_ReturnsMappingFactory()
        {
            var services = new ServiceCollection();

            var factory = MappingBuilder.DiscoverIn <User>().BuildFactory().RegisterWith(services);

            factory.ShouldNotBeNull();
        }
Пример #4
0
        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();
 }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #11
0
 public void MappingBuilder_WithDefaultOptions_BuildFactory_ReturnsFactory()
 {
     var factory = MappingBuilder.DiscoverIn<MappingBuilderTests>().BuildFactory();
     
     factory.ShouldNotBeNull();
 }