public void Add_TurnRightM1_AreEqual()
        {
            var exp  = new ActionType[] { ActionType.Left, ActionType.Right, ActionType.Down, ActionType.TurnLeft, ActionType.TurnRight, ActionType.Left, ActionType.Right, ActionType.Down, ActionType.TurnLeft, ActionType.TurnRight, ActionType.Left, ActionType.Right, ActionType.Down, ActionType.TurnLeft, ActionType.TurnRight, ActionType.Left, ActionType.Right, ActionType.Down, ActionType.TurnLeft, ActionType.TurnRight, ActionType.Left, ActionType.Right, ActionType.Down, ActionType.TurnRight, ActionType.TurnRight };
            var path = BlockPath.Create(exp.Take(24).ToArray());
            var act  = path.Add(ActionType.TurnRight);

            Assert.AreEqual(25, act.Count, "Count");
            CollectionAssert.AreEqual(exp, act.Moves.ToArray());
            Assert.AreEqual("left,right,down,turnleft,turnright,left,right,down,turnleft,turnright,left,right,down,turnleft,turnright,left,right,down,turnleft,turnright,left,right,down,turnright,turnright", act.ToString());
        }
		public void Add_TurnRightM1_AreEqual()
		{
			var exp = new ActionType[] { ActionType.Left, ActionType.Right, ActionType.Down, ActionType.TurnLeft, ActionType.TurnRight, ActionType.Left, ActionType.Right, ActionType.Down, ActionType.TurnLeft, ActionType.TurnRight, ActionType.Left, ActionType.Right, ActionType.Down, ActionType.TurnLeft, ActionType.TurnRight, ActionType.Left, ActionType.Right, ActionType.Down, ActionType.TurnLeft, ActionType.TurnRight, ActionType.Left, ActionType.Right, ActionType.Down, ActionType.TurnRight, ActionType.TurnRight };
			var path = BlockPath.Create(exp.Take(24).ToArray());
			var act = path.Add(ActionType.TurnRight);

			Assert.AreEqual(25, act.Count, "Count");
			CollectionAssert.AreEqual(exp, act.Moves.ToArray());
			Assert.AreEqual("left,right,down,turnleft,turnright,left,right,down,turnleft,turnright,left,right,down,turnleft,turnright,left,right,down,turnleft,turnright,left,right,down,turnright,turnright", act.ToString());
		}