private static ProgressLine[] GetProgressLines( Point origin, Direction entranceDirection, Direction exitDirection) { var lines = new List <ProgressLine>(); var combinedDirection = DirectionHelper.GetCombinedDirection( entranceDirection, exitDirection); switch (combinedDirection) { case Direction.Right: lines.AddRange(GetRightProgressLines(origin)); break; case Direction.Left: lines.AddRange(GetLeftProgressLines(origin)); break; case Direction.Top: lines.AddRange(GetTopProgressLines(origin)); break; case Direction.Bottom: lines.AddRange(GetBottomProgressLines(origin)); break; case Direction.BottomLeft: lines.AddRange(GetBottomLeftProgressLines(origin)); break; case Direction.BottomRight: lines.AddRange(GetBottomRightProgressLines(origin)); break; case Direction.TopLeft: lines.AddRange(GetTopLeftProgressLines(origin)); break; case Direction.TopRight: lines.AddRange(GetTopRightProgressLines(origin)); break; } return(lines.ToArray()); }
public void CombinedDirectionWorks() { Assert.AreEqual(Direction.BottomRight, DirectionHelper.GetCombinedDirection(Direction.Bottom, Direction.Right)); Assert.AreEqual(Direction.TopLeft, DirectionHelper.GetCombinedDirection(Direction.Left, Direction.Top)); }