1
exercism fetch clojure diamond

test/diamond_test.clj

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
(ns diamond-test
  (:require [clojure.test :refer [deftest is are]]
            [diamond :refer [diamond]]))

(deftest single-a-row
  (is (= (diamond \A) ["A"])))

(deftest b-diamond
  (is (= (diamond \B) [" A "
                       "B B"
                       " A "])))
(deftest c-diamond
  (is (= (diamond \C) ["  A  "
                       " B B "
                       "C   C"
                       " B B "
                       "  A  "])))

(deftest d-diamond
  (is (= (diamond \D) ["   A   "
                       "  B B  "
                       " C   C "
                       "D     D"
                       " C   C "
                       "  B B  "
                       "   A   "])))

(deftest full-z-diamond
  (is (= (diamond \Z) ["                         A                         "
                       "                        B B                        "
                       "                       C   C                       "
                       "                      D     D                      "
                       "                     E       E                     "
                       "                    F         F                    "
                       "                   G           G                   "
                       "                  H             H                  "
                       "                 I               I                 "
                       "                J                 J                "
                       "               K                   K               "
                       "              L                     L              "
                       "             M                       M             "
                       "            N                         N            "
                       "           O                           O           "
                       "          P                             P          "
                       "         Q                               Q         "
                       "        R                                 R        "
                       "       S                                   S       "
                       "      T                                     T      "
                       "     U                                       U     "
                       "    V                                         V    "
                       "   W                                           W   "
                       "  X                                             X  "
                       " Y                                               Y "
                       "Z                                                 Z"
                       " Y                                               Y "
                       "  X                                             X  "
                       "   W                                           W   "
                       "    V                                         V    "
                       "     U                                       U     "
                       "      T                                     T      "
                       "       S                                   S       "
                       "        R                                 R        "
                       "         Q                               Q         "
                       "          P                             P          "
                       "           O                           O           "
                       "            N                         N            "
                       "             M                       M             "
                       "              L                     L              "
                       "               K                   K               "
                       "                J                 J                "
                       "                 I               I                 "
                       "                  H             H                  "
                       "                   G           G                   "
                       "                    F         F                    "
                       "                     E       E                     "
                       "                      D     D                      "
                       "                       C   C                       "
                       "                        B B                        "
                       "                         A                         "])))