예제 #1
0
        public WowheadSetMapProfile()
        {
            CreateMap <IWowheadSet, Set>()
            .ForMember(dest => dest.SetId, opt => opt.MapFrom(source => source.WowheadSetId))
            .ForMember(dest => dest.Slots, opt => opt.ResolveUsing(source => SlotManager.FromRange(source.Items.Select(i => i.Slot).Distinct())))
            .ForMember(dest => dest.Items, opt => opt.Ignore());

            CreateMap <IWowheadItem, Item>()
            .ForMember(dest => dest.ItemId, opt => opt.MapFrom(source => source.Id))
            .ForMember(dest => dest.Source, opt => opt.Ignore())
            .ForMember(dest => dest.Sets, opt => opt.Ignore())
            .ForMember(dest => dest.Quality, opt => opt.ResolveUsing(source => {
                if (!source.Quality.HasValue)
                {
                    return(QualityType.Unknown);
                }

                return((QualityType)source.Quality.Value);
            }));

            CreateMap <IWowheadItemSource, Source>()
            .ForMember(dest => dest.SourceId, opt => opt.Ignore())
            .ForMember(dest => dest.Description, opt => opt.MapFrom(source => source.Name))
            .ForMember(dest => dest.Zone, opt => opt.Ignore())
            .ForMember(dest => dest.ZoneId, opt => opt.ResolveUsing(source => source.Zone));
        }
예제 #2
0
        public void should_convert_from_range()
        {
            var range = Enum.GetValues(typeof(SlotType)).Cast <int>();

            var result = SlotManager.FromRange(range);

            Assert.AreEqual("000000000000", result);
        }
예제 #3
0
        public void should_convert_from_any_range()
        {
            var range = new int[] { 0, 1, 2, 3, 4 };

            var result = SlotManager.FromRange(range);

            Assert.AreEqual("00000XXXXXXX", result);
        }
예제 #4
0
 public void should_throw_ArgumentNullException_if_null()
 {
     var result = SlotManager.FromRange(null);
 }