Esempio n. 1
0
        /// <summary>
        /// Get the binder for a type
        /// </summary>
        /// <param name="type">Type</param>
        /// <returns>Binder</returns>
        public IBinder GetBinder(Type type)
        {
            var map = this._mappingManager.GetMapping(type);
            var binder = new ObjectBinder(map, this._typeRegister);

            return binder;
        }
Esempio n. 2
0
        public void Bind_Should_Bind_Domain_Object()
        {
            var kernel = new NinjectContainer();
            var maps = kernel.Resolve<IMappingManager>();
            var types = kernel.Resolve<BasicTypesMap>();
            var person = new Person();

            maps.LoadFromAssembly(typeof(PersonMap).Assembly);
            types.MapTypes();

            var record = new Mock<IDataReader>();
            record.SetupGet(x => x.FieldCount).Returns(3);
            record.Setup(x => x.GetName(0)).Returns("NAME");
            record.Setup(x => x.GetName(1)).Returns("AGE");
            record.Setup(x => x.GetName(2)).Returns("ID");
            record.Setup(x => x.GetValue(0)).Returns("Alaor");
            record.Setup(x => x.GetValue(1)).Returns(28);
            record.Setup(x => x.GetValue(2)).Returns(1);

            var mapping = maps.GetMapping(person.GetType());
            var register = kernel.Resolve<ITypeRegister>();
            var binder = new ObjectBinder(mapping, register);

            binder.Bind(record.Object, person);

            person.Name.Should().Be("Alaor");
            person.Id.Should().Be(1);
            person.Age.Should().Be(28);
        }