示例#1
0
        public void Test()
        {
            ISourceMapper <Student, Person> mapper1 = FactoryMapper.DynamicResolutionMapper <Student, Person>();
            ISourceMapper mapper2 = FactoryMapper.DynamicResolutionMapper(typeof(PersonaGiuridica), typeof(PersonDetails));
            ISourceMapper mapper3 = FactoryMapper.DynamicResolutionMapper(typeof(IPersonHeader), typeof(PersonDetails));


            IList <IPropertyMapper <Student, Person> > propMappers = new List <IPropertyMapper <Student, Person> >
            {
                new PropertyMapper <Student, Person>((student, person) => person.Name          = student.Name, "Name", "Name")
                , new PropertyMapper <Student, Person>((student, person) => person.AnnoNascita = student.AnnoNascita)
                , new PropertyMapper <Student, Person>((student, person) => person.Parent      = student.Father)
            };

            SourceMapper <Student, Person> mapper4 = new SourceMapper <Student, Person>(propMappers, null, null);
            StudentDetails example = new StudentDetails();

            ServiceTransformer <ISourceMapper <Student, Person> > srv1 = new ServiceTransformer <ISourceMapper <Student, Person> >("default", mapper4);

            var res1 = srv1.Match <ISourceMapper <Student, Person> >("default");
            var res2 = srv1.Match <SourceMapper <Student, Person> >("default");

            var res3 = srv1.Match <ISourceMapper <Student, Person> >("ss");
            var res4 = srv1.Match <SourceMapper <Student, Person> >("ss");
            var res5 = srv1.Match("default", example.GetType(), typeof(Person));

            Assert.IsTrue(res1);
            Assert.IsFalse(res2);
            Assert.IsFalse(res3);
            Assert.IsFalse(res4);
            Assert.IsTrue(res5);
        }
        //[Test]
        public void TestReflection()
        {
            TransformerObserver  a  = new TransformerObserver();
            ITransformerResolver aa = a;

            ISourceMapper <Person, PersonaGiuridica> mapper0 = FactoryMapper.DynamicResolutionMapper <Person, PersonaGiuridica>();
            SourceMapper <Person, PersonaGiuridica>  mapper  = new SourceMapper <Person, PersonaGiuridica>(new List <IPropertyMapper <Person, PersonaGiuridica> >(), null, null);
            //aa.Register<ISourceMapper<Person, PersonaGiuridica>>(mapper);
            //aa.Register(mapper0);


            object obj1 = new Person();
            object obj2 = new Person();

            Type t1 = typeof(IPersonHeader);
            Type t2 = typeof(Person);

            try
            {
                object instance = 5.5;
                //int i = (int) instance;

                byte bb = Convert.ToByte(instance);

                byte   b = (byte)instance;
                double d = (double)instance;
            }
            catch (Exception)
            {
                Assert.IsFalse(true, "Cast invalid");
            }

            Compare <IPersonHeader>(obj1, obj2);
            //Compare<long>(1, 10);
        }
        public void TestInterfaceToClass2()
        {
            var mapper = FactoryMapper.DynamicResolutionMapper(typeof(IPersonHeader), typeof(PersonDetails));

            Assert.IsNotNull(mapper);

            IPersonHeader ps = new Person {
                Name = "name", Surname = "surname", AnnoNascita = 1980, Parent = null
            };
            object res = mapper.Map(ps);

            Assert.IsNotNull(res);
        }
        public void TestInterfaceToClass1()
        {
            var mapper = FactoryMapper.DynamicResolutionMapper <IPersonHeader, PersonDetails>();

            Assert.IsNotNull(mapper);

            IPersonHeader ps = new Person {
                Name = "name", Surname = "surname", AnnoNascita = 1980, Parent = null
            };
            PersonDetails res = mapper.Map(ps);

            Assert.IsNotNull(res);
        }
        public void TestDefaultMapper()
        {
            var mapper = FactoryMapper.DynamicResolutionMapper <Student, Person>();

            Student st = new Student {
                Name = "mario", Surname = "monti", AnnoNascita = 19
            };
            Person pr = mapper.Map(st);

            Assert.AreEqual(st.Name, pr.Name);
            Assert.AreEqual(st.Surname, pr.Surname);
            Assert.AreEqual(st.AnnoNascita, pr.AnnoNascita);
        }
        public TimeSpan GetElapsedFromMapResolver(List <Person> lista)
        {
            var mapper = FactoryMapper.DynamicResolutionMapper <Person, PersonaGiuridica>();

            Stopwatch meter = new Stopwatch();

            meter.Start();
            foreach (var person in lista)
            {
                mapper.Map(person);
            }
            meter.Stop();
            return(meter.Elapsed);
        }
        public void FailedTestDefaultMapper()
        {
            StringBuilder buffer = new StringBuilder();

            var mapper = FactoryMapper.DynamicResolutionMapper <Student, Person>
                         (
                n => buffer.AppendLine(string.Format("ToString before mapping: {0}", n.ToString())),
                r => { throw new Exception("error"); }
                         );

            Student st = new Student {
                Name = "mario", Surname = "monti", AnnoNascita = 19
            };

            mapper.Map(st);
        }
示例#8
0
        public void TestOnComplexDerivedClasses()
        {
            var mapper = FactoryMapper.DynamicResolutionMapper <MyDerivedClass, DerivedClassLast>();

            Assert.NotNull(mapper);
            Assert.AreEqual(4, mapper.PropertyMappers.Count());

            MyDerivedClass source = new MyDerivedClass(1, "mycomment", "mycomment2", 12.5);
            var            res    = mapper.Map(source);

            Assert.NotNull(res);
            Assert.AreEqual(source.Avarage, res.Avarage);
            Assert.AreEqual(source.Comment, res.Comment);
            Assert.AreEqual(source.CommentTwo, res.CommentTwo);
            Assert.AreEqual(source.Counter, res.Counter);
        }
        public void TestNonGenericMapper1()
        {
            ISourceMapper    mapper = FactoryMapper.DynamicResolutionMapper(typeof(PersonaGiuridica), typeof(PersonDetails));
            PersonaGiuridica person = new PersonaGiuridica
            {
                Code        = "150",
                Name        = "Sergio",
                Surname     = "Hill",
                AnnoNascita = 1980,
                Parent      = new Person {
                    Name = "fatherName", Surname = "fatherSurname", AnnoNascita = 1950
                }
            };

            var result = mapper.Map(person);

            Assert.IsNotNull(result);
        }
示例#10
0
        public void TestMapperNonPublicMembers()
        {
            ISourceMapper <PersonaGiuridica, PersonDetails> mapper = FactoryMapper.DynamicResolutionMapper <PersonaGiuridica, PersonDetails>();
            PersonaGiuridica person = new PersonaGiuridica
            {
                Code        = "150",
                Name        = "Sergio",
                Surname     = "Hill",
                AnnoNascita = 1980,
                Parent      = new Person {
                    Name = "fatherName", Surname = "fatherSurname", AnnoNascita = 1950
                }
            };

            var result = mapper.Map(person);

            Assert.IsNotNull(result);
        }
示例#11
0
        public void TestMapper()
        {
            TransformerObserver             observer = new TransformerObserver();
            ISourceMapper <Student, Person> mapper1  = FactoryMapper.DynamicResolutionMapper <Student, Person>();

            observer.RegisterMapper(mapper1);
            Student st = new Student {
                Name = "mario", Surname = "monti", AnnoNascita = 19
            };

            var res = observer.TryToMap <Student, Person>(st);

            Assert.IsNotNull(res);
            Assert.AreEqual(st.Name, res.Name);
            Assert.AreEqual(st.Surname, res.Surname);
            Assert.IsNull(st.Father);
            Assert.IsNull(res.Parent);
        }
示例#12
0
        public void TestDefaultMapper2()
        {
            StringBuilder buffer = new StringBuilder();

            var mapper = FactoryMapper.DynamicResolutionMapper <Student, Person>
                         (
                n => buffer.AppendLine(string.Format("ToString before mapping: {0}", n.ToString())),
                r => buffer.AppendLine(string.Format("ToString after mapping: {0}", r.ToString()))
                         );

            Student st = new Student {
                Name = "mario", Surname = "monti", AnnoNascita = 19
            };
            Person pr = mapper.Map(st);

            Assert.AreEqual(st.Name, pr.Name);
            Assert.AreEqual(st.Surname, pr.Surname);
            Assert.AreEqual(st.AnnoNascita, pr.AnnoNascita);
        }
示例#13
0
 public void FailedTestDestinationInterfaceType2()
 {
     FactoryMapper.DynamicResolutionMapper <PersonaGiuridica, IPersonHeader>();
 }
示例#14
0
 public void FailedTestDestinationInterfaceType1()
 {
     FactoryMapper.DynamicResolutionMapper(typeof(PersonaGiuridica), typeof(IPersonHeader));
 }