/// <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; }
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); }