Sha256: 8e1592d4962dd9cdef6d84bedbcef040a8528cd54c911f16226aca2a2c7299d8
Contents?: true
Size: 1.95 KB
Versions: 107
Compression:
Stored size: 1.95 KB
Contents
# Diamond The diamond kata takes as its input a letter, and outputs it in a diamond shape. Given a letter, it prints a diamond starting with 'A', with the supplied letter at the widest point. ## Requirements * The first row contains one 'A'. * The last row contains one 'A'. * All rows, except the first and last, have exactly two identical letters. * All rows have as many trailing spaces as leading spaces. (This might be 0). * The diamond is horizontally symmetric. * The diamond is vertically symmetric. * The diamond has a square shape (width equals height). * The letters form a diamond shape. * The top half has the letters in ascending order. * The bottom half has the letters in descending order. * The four corners (containing the spaces) are triangles. ## Examples In the following examples, spaces are indicated by `·` characters. Diamond for letter 'A': ```plain A ``` Diamond for letter 'C': ```plain ··A·· ·B·B· C···C ·B·B· ··A·· ``` Diamond for letter 'E': ```plain ····A···· ···B·B··· ··C···C·· ·D·····D· E·······E ·D·····D· ··C···C·· ···B·B··· ····A···· ``` ## 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` flag: go test -bench . 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](http://exercism.io/languages/go/about). ## Source Seb Rose [http://claysnow.co.uk/recycling-tests-in-tdd/](http://claysnow.co.uk/recycling-tests-in-tdd/) ## Submitting Incomplete Solutions It's possible to submit an incomplete solution so you can see how others have completed the exercise.
Version data entries
107 entries across 107 versions & 1 rubygems