From 061a08c47a13a1759444edb1d6483ca0b1a0d641 Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Tue, 8 Mar 2016 09:09:23 +0100 Subject: [PATCH] Add diamond kata exercise --- diamond.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ diamond.yml | 4 ++++ 2 files changed, 54 insertions(+) create mode 100644 diamond.md create mode 100644 diamond.yml diff --git a/diamond.md b/diamond.md new file mode 100644 index 0000000000..989e3b1eb6 --- /dev/null +++ b/diamond.md @@ -0,0 +1,50 @@ +## Diamond kata + +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. +* 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 + +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 +``` \ No newline at end of file diff --git a/diamond.yml b/diamond.yml new file mode 100644 index 0000000000..82e6db6a4b --- /dev/null +++ b/diamond.yml @@ -0,0 +1,4 @@ +--- +blurb: "Given a letter, print a diamond starting with 'A' with the supplied letter at the widest point." +source: "Seb Rose" +source_url: "http://claysnow.co.uk/recycling-tests-in-tdd/" \ No newline at end of file