Ejemplo n.º 1
0
 private IEnumerable <string> GetTestIgnoredProperties(TestRuntimeIgnoreContext ctx)
 {
     if (ctx.IgnoreStartTime)
     {
         yield return("StartTime");
     }
     if (ctx.IgnoreEndTime)
     {
         yield return("EndTime");
     }
 }
Ejemplo n.º 2
0
        public void TestRuntimeIgnore()
        {
            LinqMapper.LinqMapper.CreateMap <Room, RoomProjection>();
            LinqMapper.LinqMapper.CreateMap <Booking, BookingProjection>()
            .IgnoreRuntimeMembers <TestRuntimeIgnoreContext>(GetTestIgnoredProperties);

            var ignoreContext = new TestRuntimeIgnoreContext();
            var ctx           = LinqMapper.LinqMapper.CreateContext();

            ctx.SetContext <TestRuntimeIgnoreContext>(ignoreContext);

            var map = LinqMapper.LinqMapper.GetMap <Booking, BookingProjection>(ctx);

            Assert.Equal("src => new BookingProjection() {Id = src.Id, StartTime = src.StartTime, EndTime = src.EndTime, Room = new RoomProjection() {Name = src.Room.Name}}", map.ToString());

            ignoreContext.IgnoreStartTime = true;
            map = LinqMapper.LinqMapper.GetMap <Booking, BookingProjection>(ctx);
            Assert.Equal("src => new BookingProjection() {Id = src.Id, EndTime = src.EndTime, Room = new RoomProjection() {Name = src.Room.Name}}", map.ToString());

            ignoreContext.IgnoreEndTime = true;
            map = LinqMapper.LinqMapper.GetMap <Booking, BookingProjection>(ctx);
            Assert.Equal("src => new BookingProjection() {Id = src.Id, Room = new RoomProjection() {Name = src.Room.Name}}", map.ToString());
        }