private static void CreateLoadSitRepMappings() { Mapper.CreateMap <HexVectorComponentSto, HexVectorComponent>() .ForMember(hvc => hvc.Direction, ac => ac.MapFrom(vcs => Enum.Parse(typeof(HexAxis), vcs.Direction))) .ForMember(hvc => hvc.Magnitude, ac => ac.MapFrom(vcs => vcs.Value)); Mapper.CreateMap <HexVectorSto, RawHexVector>() .ForMember(hvc => hvc.Components, ac => ac.Ignore()) .AfterMap((hvs, rhv) => rhv.AddComponents(Mapper.Map <IEnumerable <HexVectorComponentSto>, IEnumerable <HexVectorComponent> >(hvs.Components))); Mapper.CreateMap <ImpulseRecordSto, ImpulseTrackElement>() .ForMember(ite => ite.Impulse, ac => ac.MapFrom(irs => TurnData.Parse(irs.Impulse))); Mapper.CreateMap <ShellstarSto, ShellstarInfo>(); Mapper.CreateMap <UnitSto, UnitModel>() .ForMember(um => um.Position, ac => ac.MapFrom(uns => HexGridCoordinate.Parse(uns.Position))) .ForMember(um => um.Vectors, ac => ac.MapFrom(uns => uns.Velocity)) .AfterMap((uns, um) => uns.IncomingProjectiles.ForEach(st => { var evasionInfo = new EvasionInfoModel(AvidWindow.Parse(st.EvasionInfo.ImpactWindow), AvidWindow.Parse(st.EvasionInfo.EvasionUp).Direction); var shellstarModel = new ShellstarModel(Mapper.Map <ShellstarSto, ShellstarInfo>(st), TurnData.Parse(st.SegmentOfLaunch), evasionInfo); shellstarModel.Tag = st.Tag; um.AttachShellstar(shellstarModel); })); }
public void DistanceTest9_FourWindowsLevel() { var start = AvidWindow.Parse("E/F-"); var destination = AvidWindow.Parse("B-"); int distance = ServiceFactory.Library.AvidCalculator.CountWindows(start, destination); distance.Should().Be(4); }
public void DistanceTest7_ThreeWindowsOneHemisphere() { var start = AvidWindow.Parse("E"); var destination = AvidWindow.Parse("A++"); int distance = ServiceFactory.Library.AvidCalculator.CountWindows(start, destination); distance.Should().Be(3); }
public void DistanceTest8_ThreeWindowsDiagonal() { var start = AvidWindow.Parse("E+"); var destination = AvidWindow.Parse("F/A-"); int distance = ServiceFactory.Library.AvidCalculator.CountWindows(start, destination); distance.Should().Be(3); }
public void DistanceTest23_OppositeEmberCorner() { var start = AvidWindow.Parse("C/D"); var destination = AvidWindow.Parse("F/A"); int distance = ServiceFactory.Library.AvidCalculator.CountWindows(start, destination); distance.Should().Be(6); }
public void DistanceTest3_TwoWindowsAdjacent() { var start = AvidWindow.Parse("C+"); var destination = AvidWindow.Parse("C-"); int distance = ServiceFactory.Library.AvidCalculator.CountWindows(start, destination); distance.Should().Be(2); }
public void DistanceTest2_OneWindowDiagonal() { var start = AvidWindow.Parse("A"); var destination = AvidWindow.Parse("A/B+"); int distance = ServiceFactory.Library.AvidCalculator.CountWindows(start, destination); distance.Should().Be(1); }
public void DistanceTest21_OppositeBlueCorner() { var start = AvidWindow.Parse("B/C+"); var destination = AvidWindow.Parse("E/F-"); int distance = ServiceFactory.Library.AvidCalculator.CountWindows(start, destination); distance.Should().Be(6); }
public void DistanceTest18_OppositeGreen() { var start = AvidWindow.Parse("B++"); var destination = AvidWindow.Parse("E--"); int distance = ServiceFactory.Library.AvidCalculator.CountWindows(start, destination); distance.Should().Be(6); }
public void DistanceTest16_FiveWindowsBlue() { var start = AvidWindow.Parse("C/D"); var destination = AvidWindow.Parse("F/A-"); int distance = ServiceFactory.Library.AvidCalculator.CountWindows(start, destination); distance.Should().Be(5); }
public void DistanceTest14_FiveWindowsVertical() { var start = AvidWindow.Parse("D++"); var destination = AvidWindow.Parse("A-"); int distance = ServiceFactory.Library.AvidCalculator.CountWindows(start, destination); distance.Should().Be(5); }
public void DistanceTest12_FourWindowsNearVertical() { var start = AvidWindow.Parse("---"); var destination = AvidWindow.Parse("F/A+"); int distance = ServiceFactory.Library.AvidCalculator.CountWindows(start, destination); distance.Should().Be(4); }
public void DistanceTest11_FourWindowsDiagonal2() { var start = AvidWindow.Parse("E/F+"); var destination = AvidWindow.Parse("A/B"); int distance = ServiceFactory.Library.AvidCalculator.CountWindows(start, destination); distance.Should().Be(4); }