private Result <Exception, int> ProcessHeadAlign(HeadAlignCommand command, RobotAgreggate robot) { Result <Exception, Align> moveCallback; switch (command.HeadMove.ToLower()) { case "top": moveCallback = robot.MoveHeadForUp(); break; case "down": moveCallback = robot.MoveHeadToBelow(); break; default: return(new BussinessException(ErrorCodes.BadRequest, "Comando inválido.")); } if (moveCallback.IsSuccess) { return(PersistRobotState(robot, (int)moveCallback.Success)); } return(moveCallback.Failure); }
public void MoveHeadToBelowTest() { //Arrange RobotAgreggate robot = creator.MakeARobot(); //Action var result = robot.MoveHeadToBelow(); //Assert result.IsSuccess.ShouldBeTrue(); result.Success.ShouldBe(Align.Botton); robot.HeadAlign.ShouldBe(Align.Botton); }