Sha256: a7e3d859e0542d54b2865aafb456348470bb948e8bd652faff657349374bea7a
Contents?: true
Size: 1.73 KB
Versions: 96
Compression:
Stored size: 1.73 KB
Contents
# Robot Simulator Write a robot simulator. A robot factory's test facility needs a program to verify robot movements. The robots have three possible movements: - turn right - turn left - advance Robots are placed on a hypothetical infinite grid, facing a particular direction (north, east, south, or west) at a set of {x,y} coordinates, e.g., {3,8}, with coordinates increasing to the north and east. The robot then receives a number of instructions, at which point the testing facility verifies the robot's new position, and in which direction it is pointing. - The letter-string "RAALAL" means: - Turn right - Advance twice - Turn left - Advance once - Turn left yet again - Say a robot starts at {7, 3} facing north. Then running this stream of instructions should leave it at {9, 4} facing west. ## Running tests Execute the tests with: ```bash $ elixir bob_test.exs ``` (Replace `bob_test.exs` with the name of the test file.) ### Pending tests In the test suites, all but the first test have been skipped. Once you get a test passing, you can unskip the next one by commenting out the relevant `@tag :pending` with a `#` symbol. For example: ```elixir # @tag :pending test "shouting" do assert Bob.hey("WATCH OUT!") == "Whoa, chill out!" end ``` Or, you can enable all the tests by commenting out the `ExUnit.configure` line in the test suite. ```elixir # ExUnit.configure exclude: :pending, trace: true ``` For more detailed information about the Elixir track, please see the [help page](http://exercism.io/languages/elixir). ## Source Inspired by an interview question at a famous company. ## Submitting Incomplete Solutions It's possible to submit an incomplete solution so you can see how others have completed the exercise.
Version data entries
96 entries across 96 versions & 1 rubygems