Repository: exercism/clojure
Pull request #202 (2017-12-19 20:21:26)

reverse-string: add to track
Add reverse-string to track as per [todo](http://exercism.io/languages/clojure/todo)


Patch:
diff --git a/config.json b/config.json
index 13eb5b1..60c3deb 100644
--- a/config.json
+++ b/config.json
@@ -9,6 +9,14 @@
       "unlocked_by": null,
       "uuid": "1378910d-9bec-4217-bd40-07a8967fa3ad"
     },
+    {
+      "core": false,
+      "difficulty": 1,
+      "slug": "reverse-string",
+      "topics": null,
+      "unlocked_by": null,
+      "uuid": "a8957cc5-d99e-4a31-9d49-4653226fd50b"
+    },
     {
       "core": false,
       "difficulty": 1,
diff --git a/exercises/reverse-string/README.md b/exercises/reverse-string/README.md
new file mode 100644
index 0000000..ef8f1f1
--- /dev/null
+++ b/exercises/reverse-string/README.md
@@ -0,0 +1,14 @@
+# Reverse String 
+
+Reverse a string
+
+For example:
+input: "cool"
+output: "looc"
+
+## Source
+
+Introductory challenge to reverse an input string. [https://medium.freecodecamp.org/how-to-reverse-a-string-in-javascript-in-3-different-ways-75e4763c68cb](https://medium.freecodecamp.org/how-to-reverse-a-string-in-javascript-in-3-different-ways-75e4763c68cb)
+
+## Submitting Incomplete Solutions
+It's possible to submit an incomplete solution so you can see how others have completed the exercise.
diff --git a/exercises/reverse-string/project.clj b/exercises/reverse-string/project.clj
new file mode 100644
index 0000000..5435200
--- /dev/null
+++ b/exercises/reverse-string/project.clj
@@ -0,0 +1,4 @@
+(defproject reverse-string "0.1.0-SNAPSHOT"
+  :description "reverse-string exercise."
+  :url "https://github.com/exercism/clojure/tree/master/exercises/reverse-string"
+  :dependencies [[org.clojure/clojure "1.8.0"]])
diff --git a/exercises/reverse-string/src/example.clj b/exercises/reverse-string/src/example.clj
new file mode 100644
index 0000000..34e21ee
--- /dev/null
+++ b/exercises/reverse-string/src/example.clj
@@ -0,0 +1,5 @@
+(ns reverse-string
+    (:require [clojure.string :as s]))
+
+(defn reverse-string 
+  ([word] (s/reverse word)))
diff --git a/exercises/reverse-string/src/reverse_string.clj b/exercises/reverse-string/src/reverse_string.clj
new file mode 100644
index 0000000..5e48358
--- /dev/null
+++ b/exercises/reverse-string/src/reverse_string.clj
@@ -0,0 +1,5 @@
+(ns reverse-string)
+
+(defn reverse-string [] ;; <- arglist goes here
+  ;; your code goes here
+)


Test patch:
diff --git a/exercises/reverse-string/test/reverse_string_test.clj b/exercises/reverse-string/test/reverse_string_test.clj
new file mode 100644
index 0000000..08d54c4
--- /dev/null
+++ b/exercises/reverse-string/test/reverse_string_test.clj
@@ -0,0 +1,18 @@
+(ns reverse-string-test
+  (:require [clojure.test :refer [deftest is]]
+            reverse-string))
+
+(deftest empty-string-test
+  (is (= "" (reverse-string/reverse-string ""))))
+
+(deftest a-word-test
+  (is (= "tobor" (reverse-string/reverse-string "robot"))))
+
+(deftest capitalised-word-test
+  (is (= "nemaR" (reverse-string/reverse-string "Ramen"))))
+
+(deftest sentence-with-punctuation-test
+  (is (= "!yrgnuh m'I" (reverse-string/reverse-string "I'm hungry!"))))
+
+(deftest palindrome-test
+  (is (= "racecar" (reverse-string/reverse-string "racecar"))))