private static void OnSpiderDeployed(ISpider spider) { Console.WriteLine("Spider position and orientation after deployment are"); Console.WriteLine(spider.GetPosition().X); Console.WriteLine(spider.GetPosition().Y); Console.WriteLine(spider.GetOrientation().ToString()); }
public void When_spider_is_moved_as_per_instructions_with_valid_data_final_spider_information_is_returned( int wallTop, int wallRight, Position spiderPosition, Orientation spiderOrientation, string spiderInstructions, int finalSpiderXCoordinate, int finalSpiderYCoordinate, Orientation finalSpiderOrientation) { _spider = new Spider(wallTop, wallRight, spiderPosition, spiderOrientation); foreach (var key in spiderInstructions) { switch (key) { case 'L': _spider.TurnLeft(); break; case 'R': _spider.TurnRight(); break; case 'F': _spider.MoveFront(); break; } } var finalPosition = _spider.GetPosition(); Assert.That(finalPosition.X, Is.EqualTo(finalSpiderXCoordinate)); Assert.That(finalPosition.Y, Is.EqualTo(finalSpiderYCoordinate)); Assert.That(_spider.GetOrientation(), Is.EqualTo(finalSpiderOrientation)); }
private void ReadInputInformation() { var wallInformation = ReadInformation("wall information"); if (!_inputValidator.IsWallInputValid(wallInformation)) { throw new Exception("Wall information is not valid"); } var spiderInformation = ReadInformation("spider information (L -Left R-Right T-Top B-Bottom)"); if (!_inputValidator.IsSpiderInputValid(spiderInformation)) { throw new Exception("Spider information is not valid"); } var spiderInstructions = ReadInformation("spider instructions"); if (!_inputValidator.IsSpiderInstructionsValid(spiderInstructions)) { throw new Exception("Spider instructions are not valid"); } var wallTop = _inputParser.GetWallParameter(wallInformation, "WallTop"); var wallRight = _inputParser.GetWallParameter(wallInformation, "WallRight"); _spider = _inputParser.ParseSpiderInformation(spiderInformation, wallTop, wallRight); var spiderPosition = _spider.GetPosition(); if (!_inputValidator.IsSpiderWithInWallCoordinates(wallTop, wallRight, spiderPosition.X, spiderPosition.Y)) { throw new Exception("Spider initial position is not valid"); } _instructions = _inputParser.ParseSpiderInstructions(spiderInstructions); }