 
 (deftest using-if
   (are [x y] (= x y)
-       (if (> 1 0)
-         true
-         false)
-       true
+    (if (> 1 0)
+      true
+      false)
+    true
 
-       (if (> 3 2 1)
-         true
-         false)
-       true
+    (if (> 3 2 1)
+      true
+      false)
+    true
 
-       (if (> 3 2 3 1)
-         true
-         false)
-       false))
+    (if (> 3 2 3 1)
+      true
+      false)
+    false
+
+    (if nil
+      "nil is truthy"
+      "nil is falsey"
+      ) "nil is falsey"
+
+    (if true
+      "true is truthy"
+      "true is falsey"
+      ) "true is truthy"
+
+    (if false
+      "false is truthy"
+      "false is falsey"
+      ) "false is falsey"
+
+    (if '(1)
+      "list is truthy"
+      "list is falsey"
+      ) "list is truthy"
+
+    (if '()
+      "empty list is truthy"
+      "empty list is falsey"
+      ) "empty list is truthy"
+
+    (if (Object.)
+      "Object is truthy"
+      "Object is falsey"
+      ) "Object is truthy"))
 
 
 (deftest dealing-with-lists

    (filter even? '(1 2 3 4 5)) '(2 4)))


(deftest define-a-function-that-checks-length
  (let [long? (fn [str len] (> (count str) len))]
    (are [x y] (= x y)
         (long? "long string" 5) true
         (long? "short" 5) false
         (long? nil 2) false
         )))


(deftest use-map-to-double-all-numbers-in-a-sequence


(deftest very-basic-types
  (is (= 1 1))
  ;; Lots of things are truthy, which is the simplest?
  (is (true? true))
  ;; Now what is the concatenation of those Characters
  (is (= (str \a \b \c) "abc"))
  ;; Use vector literal
  (is (= '(1 2 3) [1 2 3]))
