本文整理汇总了C#中Robot.Clean方法的典型用法代码示例。如果您正苦于以下问题:C# Robot.Clean方法的具体用法?C# Robot.Clean怎么用?C# Robot.Clean使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Robot
的用法示例。
在下文中一共展示了Robot.Clean方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExecutionOutput_PathWithoutRepeatingCells_ReturnsCorrectValue
public void ExecutionOutput_PathWithoutRepeatingCells_ReturnsCorrectValue()
{
var position = new Location(10, 22);
var expectedOutput = "=> Cleaned: 2";
IList<MovementInstruction> instructions = new List<MovementInstruction>();
instructions.Add(new MovementInstruction(Direction.East, 1));
var cleaningProgram = new CleaningProgram(position, instructions);
var robot = new Robot(cleaningProgram);
robot.Clean();
var output = robot.ExecutionOutput();
Assert.AreEqual(expectedOutput, output);
}
示例2: ExecutionOutput_NoInstructionsProvided_ReturnsCorrectValue
public void ExecutionOutput_NoInstructionsProvided_ReturnsCorrectValue()
{
var position = new Location(10, 22);
var expectedOutput = "=> Cleaned: 1";
IList<MovementInstruction> instructions = new List<MovementInstruction>();
var cleaningProgram = new CleaningProgram(position, instructions);
var robot = new Robot(cleaningProgram);
robot.Clean();
var output = robot.ExecutionOutput();
Assert.AreEqual(expectedOutput, output);
}
示例3: Main
static void Main(string[] args)
{
InstructionsReader reader = new InstructionsReader();
var totalInstructions = reader.ReadTotalInstructions(Console.ReadLine());
reader.ReadInitialPosition(Console.ReadLine());
for (var i = 0; i < totalInstructions; i++)
{
reader.ReadMoveInstruction(Console.ReadLine());
}
var cleaningProgram = reader.BuildCleaningProgram();
Robot robot = new Robot(cleaningProgram);
robot.Clean();
Console.WriteLine(robot.ExecutionOutput());
}
示例4: RobotMovement_WestInstructionOutsideOfPlane_PositionIsOnLeftBoundary
public void RobotMovement_WestInstructionOutsideOfPlane_PositionIsOnLeftBoundary()
{
var officeMock = new Mock<IOffice>();
officeMock.Setup(o => o.MarkCellAsCleaned(It.IsAny<Location>())).Verifiable();
var position = new Location(10, 22);
var expectedPosition = new Location(Constants.PlaneRightBoundary, 22);
IList<MovementInstruction> instructions = new List<MovementInstruction>();
instructions.Add(new MovementInstruction(Direction.East, Constants.PlaneRightBoundary));
var cleaningProgram = new CleaningProgram(position, instructions);
var robot = new Robot(cleaningProgram , officeMock.Object);
robot.Clean();
Assert.AreEqual(expectedPosition, robot.CurrentPosition);
}
示例5: RobotMovement_MultipleInstructions_ReturnCorrectPosition
public void RobotMovement_MultipleInstructions_ReturnCorrectPosition()
{
var officeMock = new Mock<IOffice>();
officeMock.Setup(o => o.MarkCellAsCleaned(It.IsAny<Location>())).Verifiable();
var position = new Location(10, 22);
IList<MovementInstruction> instructions = new List<MovementInstruction>();
instructions.Add(new MovementInstruction(Direction.East, 1));
instructions.Add(new MovementInstruction(Direction.South, 1));
instructions.Add(new MovementInstruction(Direction.West, 1));
instructions.Add(new MovementInstruction(Direction.North, 1));
var cleaningProgram = new CleaningProgram(position, instructions);
var robot = new Robot(cleaningProgram, officeMock.Object);
robot.Clean();
Assert.AreEqual(position, robot.CurrentPosition);
}
示例6: RobotMovement_MaxNumberOfInstructionsProvided_ExecutesWithoutErrors
public void RobotMovement_MaxNumberOfInstructionsProvided_ExecutesWithoutErrors()
{
var officeMock = new Mock<IOffice>();
officeMock.Setup(o => o.MarkCellAsCleaned(It.IsAny<Location>())).Verifiable();
var position = new Location(10, 22);
IList<MovementInstruction> instructions = new List<MovementInstruction>();
var random = new Random();
for (var i = 0; i < 10000; i++)
{
var direction = (Direction) (random.Next(1, 4));
var steps = 10;
instructions.Add(new MovementInstruction(direction, steps));
}
var cleaningProgram = new CleaningProgram(position, instructions);
var robot = new Robot(cleaningProgram, officeMock.Object);
Assert.DoesNotThrow(() => robot.Clean());
}