Sha256: 1d62627355f8a14777b12cce9e19fb1e5ca8b9fc029afa0a8d022d1e398e2863
Contents?: true
Size: 1.83 KB
Versions: 59
Compression:
Stored size: 1.83 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···· ``` ## Setup Go through the setup instructions for ECMAScript to install the necessary dependencies: http://exercism.io/languages/ecmascript ## Requirements Install assignment dependencies: ```bash $ npm install ``` ## Making the test suite pass Execute the tests with: ```bash $ npm test ``` In the test suites all tests but the first have been skipped. Once you get a test passing, you can enable the next one by changing `xtest` to `test`. ## 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
59 entries across 59 versions & 1 rubygems