     babies (fn [month]
       (match month
         1 1
-        n (adults (- 1 month))))
-
-    (fibonacci 6)""", 8
+        n (adults (- 1 month))))"""
+    "(fibonacci 6)", 8
 
 ]
 
+testNamed = (givenName) ->
+  for [name, source, expression, result] in pairs tests when name is givenName
+    return source
+  throw new Error "Test #{givenName} not found!"
 
 logError = (message, error) ->
   log message, error.message, error.stack

    .replace(/\n (?=\n)/g, '')

runTests = (tests) ->
  for [source, result] in pairs tests
    test source, result
  "Finished"
# end of tests


    logError "Error in test #{teaSource}", e

tests = [
  'simple defs'
  """a 2"""
  "a", 2

  'more defs'
  """a 2
    b 3"""
  "a", 1

  'constant data'
  """Color (data Red Blue)
    r Red
    b Blue
    r2 Red"""
  "(= r r2)", true

  'match numbers'
  """positive (fn [n]
      (match n
        0 False
        m True))"""
  "(positive 3)", yes

  'composite data'
  """Person (data
    Baby
    Adult [name: String])
