summary refs log tree commit diff stats
path: root/clojure/reverse-string/test/reverse_string_test.clj
blob: f80d06a4854920856a84721b1d7a8bbc4a00038b (plain) (blame)
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
(ns reverse-string-test
  (:require [clojure.test :refer [deftest is]]
            reverse-string))

(deftest empty-string-test
  (is (= "" (reverse-string/reverse-string ""))))

(deftest a-letter-test
  (is (= "I" (reverse-string/reverse-string "I"))))

(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"))))

(deftest even-sized-word-test
  (is (= "reward" (reverse-string/reverse-string "drawer"))))

(deftest long-string-test
  (let [s (reduce str (repeat 1000 "overflow?"))
        rs (reduce str (repeat 1000 "?wolfrevo"))]
    (is (= rs (reverse-string/reverse-string s)))))