Sha256: 0430d691654062d21c1cc96a78561c35038ea997e0a63e5b6c8a7af6d14a0817

Contents?: true

Size: 1.71 KB

Versions: 79

Compression:

Stored size: 1.71 KB

Contents

# Robot Name

Manage robot factory settings.

When robots come off the factory floor, they have no name.

The first time you boot them up, a random name is generated in the format
of two uppercase letters followed by three digits, such as RX837 or BC811.

Every once in a while we need to reset a robot to its factory settings,
which means that their name gets wiped. The next time you ask, it will
respond with a new random name.

The names must be random: they should not follow a predictable sequence.
Random names means a risk of collisions. Your solution must ensure that
every existing robot has a unique name.


In order to make this easier to test, your solution will need to implement a
`Robot.forget` method that clears any shared state that might exist to track
duplicate robot names.

Bonus points if this method does not need to do anything for your solution.



* * * *

For installation and learning resources, refer to the
[exercism help page](http://exercism.io/languages/ruby).

For running the tests provided, you will need the Minitest gem. Open a
terminal window and run the following command to install minitest:

    gem install minitest

If you would like color output, you can `require 'minitest/pride'` in
the test file, or note the alternative instruction, below, for running
the test file.

Run the tests from the exercise directory using the following command:

    ruby robot_name_test.rb

To include color from the command line:

    ruby -r minitest/pride robot_name_test.rb


## Source

A debugging session with Paul Blackwell at gSchool. [http://gschool.it](http://gschool.it)

## Submitting Incomplete Solutions
It's possible to submit an incomplete solution so you can see how others have completed the exercise.

Version data entries

79 entries across 79 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.179 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.178 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.177 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.176 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.175 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.174 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.173 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.172 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.171 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.170 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.169 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.167 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.166 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.165 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.164 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.163 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.162 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.161 tracks/ruby/exercises/robot-name/README.md
trackler-2.2.1.160 tracks/ruby/exercises/robot-name/README.md