Esempio n. 1
0
        public void GettingMapper_AndNoneAreRegistered_ThrowsException()
        {
            var factory = new HalEntityMapperFactoryWith2TypesRegistered();

            Assert.Throws <NoMappersRegisteredException>(() =>
            {
                factory.GetMapper <ExampleModelWithNoMapping>();
            });
        }
Esempio n. 2
0
        public void RegisteringMappers_WhenTwoAreSetInConfig_AddsBothToTheMappersDictionary()
        {
            var factory = new HalEntityMapperFactoryWith2TypesRegistered();

            factory.RegisterMappers();

            Assert.Equal(expected: 2, actual: factory.Mappers.Count);
            Assert.NotNull(factory.Mappers[typeof(ExampleModelWithMapping1)]);
            Assert.NotNull(factory.Mappers[typeof(ExampleModelWithMapping2)]);
        }
Esempio n. 3
0
        public void GettingMapper_Twice_ReturnsDifferentInstances()
        {
            var factory = new HalEntityMapperFactoryWith2TypesRegistered();

            factory.RegisterMappers();

            var mapper1 = factory.GetMapper <ExampleModelWithMapping1>();
            var mapper2 = factory.GetMapper <ExampleModelWithMapping1>();

            Assert.NotSame(mapper1, mapper2);
        }
Esempio n. 4
0
        public void GettingMapper_ForTypeThatIsRegistered_ReturnsAppropriateMapper()
        {
            var factory = new HalEntityMapperFactoryWith2TypesRegistered();

            factory.RegisterMappers();

            var mapper = factory.GetMapper <ExampleModelWithMapping1>();

            Assert.NotNull(mapper);
            Assert.IsAssignableFrom <IEntityMapper <ExampleModelWithMapping1> >(mapper);
        }
Esempio n. 5
0
        public void GettingMapper_ForTypeThatIsNotRegistered_ThrowsException()
        {
            var factory = new HalEntityMapperFactoryWith2TypesRegistered();

            factory.RegisterMappers();

            Assert.Throws <TypeHasNoMapperException>(() =>
            {
                factory.GetMapper <ExampleModelWithNoMapping>();
            });
        }