robotname

package
v0.0.0-...-543a44c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 13, 2018 License: GPL-3.0 Imports: 3 Imported by: 0

README

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.

Bonus exercise

Once you get go test passing, try go test -tags bonus. This uses a build tag to enable a test that wasn't previously enabled. Build tags control which files should be included in the package. You can read more about those at the Go documentation.

For this exercise it limits go test to only build the tests in the robot_name_test.go file. We can then include the bonus test in the bonus_test.go file with the tags flag as described above.

To get the bonus test to pass you'll have to ensure a robot's name has not been used before.

Running the tests

To run the tests run the command go test from within the exercise directory.

If the test suite contains benchmarks, you can run these with the --bench and --benchmem flags:

go test -v --bench . --benchmem

Keep in mind that each reviewer will run benchmarks on a different machine, with different specs, so the results from these benchmark tests may vary.

Further information

For more detailed information about the Go track, including how to get help if you're having trouble, please visit the exercism.io Go language page.

Source

A debugging session with Paul Blackwell at gSchool. http://gschool.it

Submitting Incomplete Solutions

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Robot

type Robot struct {
	// contains filtered or unexported fields
}

Robot represents robot :D

func (*Robot) Name

func (r *Robot) Name() string

Name creates new name for your robot

func (*Robot) Reset

func (r *Robot) Reset()

Reset resets robot into its factory settings

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL