 
 
 tests = [
-  '1plus 1 print'
-  '1'
-
-  '(1plus 1)print'
-  '2'
-
-  '(1plus 1)print print'
-  '22'
-
-  '@a ← "test string". @b ← a. @c ← @a. @a eval print.@b eval print.@c eval print'
-  'test stringtest stringa'
-
-  '@a←5.a increment.@a←a plus 1.a print'
-  '7'
-
-  '@a←5..a increment. ...  .@a←a plus 1.a print'
-  '7'
-
-  '.@a←5..a increment. ...  .@a←a plus 1.a print.'
-  '7'
-
-  '..@a←5..a increment. ...  .@a←a plus 1.a print..'
-  '7'
-
-  '. .@a←5..a increment. ...  .@a←a plus 1.a print. .'
-  '7'
-
-  '...@a←5..a increment. ...  .@a←a plus 1.a print...'
-  '7'
-
-  '@a←5.@a←a plus 1.a increment print'
-  '7'
-
-  '@a←5plus 1.a increment print'
-  '7'
-
-  '@a←(5plus 1).a increment print'
-  '7'
-
-  '(4plus 1plus 1)print'
-  '6'
-
-  '@a←(4plus 1plus 1).a increment print'
-  '7'
-
-  '@a←(4plus(1plus 1)).a increment print'
-  '7'
-
-  '@a←((4plus 1)plus(0plus 1)).a increment print'
-  '7'
-
-  '7anotherPrint'
-  '7'
-
-  '7anotherPrinttwo'
-  '7'
-
-  '7anotherPrintthree'
-  '7'
-
-  '7doublePrint'
-  '77'
-
-  '7print print'
-  '77'
-
-  '(6doublePrint plus 1)print'
-  '667'
-
-  '6doublePrint plus 1print'
-  '661'
-
-  '(4plus 3)print'
-  '7'
-
-  '(4plus 3print)print'
-  '37'
-
-  '(4plus(2plus 1))print'
-  '7'
-
-  '4plus(2plus 1)print'
-  '7'
-
-  '4plus 2plus 1print'
-  '1'
-
-  '(@(1plus 1))print'
-  '( 1 plus 1 )'
-
-  '((@(1plus 1))eval)print'
-  '2'
-
-  '(@(1plus 1))eval print'
-  '2'
+  "1plus 1 print"
+  "1"
+
+  "(1plus 1)print"
+  "2"
+
+  "(1plus 1)print print"
+  "22"
+
+  "@a ← \"test string\". @b ← a. @c ← @a. @a eval print.@b eval print.@c eval print"
+  "test stringtest stringa"
+
+  "@a←5.a increment.@a←a plus 1.a print"
+  "7"
+
+  "@a←5..a increment. ...  .@a←a plus 1.a print"
+  "7"
+
+  ".@a←5..a increment. ...  .@a←a plus 1.a print."
+  "7"
+
+  "..@a←5..a increment. ...  .@a←a plus 1.a print.."
+  "7"
+
+  ". .@a←5..a increment. ...  .@a←a plus 1.a print. ."
+  "7"
+
+  "...@a←5..a increment. ...  .@a←a plus 1.a print..."
+  "7"
+
+  "@a←5.@a←a plus 1.a increment print"
+  "7"
+
+  "@a←5plus 1.a increment print"
+  "7"
+
+  "@a←(5plus 1).a increment print"
+  "7"
+
+  "(4plus 1plus 1)print"
+  "6"
+
+  "@a←(4plus 1plus 1).a increment print"
+  "7"
+
+  "@a←(4plus(1plus 1)).a increment print"
+  "7"
+
+  "@a←((4plus 1)plus(0plus 1)).a increment print"
+  "7"
+
+  "7anotherPrint"
+  "7"
+
+  "7anotherPrinttwo"
+  "7"
+
+  "7anotherPrintthree"
+  "7"
+
+  "7doublePrint"
+  "77"
+
+  "7print print"
+  "77"
+
+  "(6doublePrint plus 1)print"
+  "667"
+
+  "6doublePrint plus 1print"
+  "661"
+
+  "(4plus 3)print"
+  "7"
+
+  "(4plus 3print)print"
+  "37"
+
+  "(4plus(2plus 1))print"
+  "7"
+
+  "4plus(2plus 1)print"
+  "7"
+
+  "4plus 2plus 1print"
+  "1"
+
+  "(@(1plus 1))print"
+  "( 1 plus 1 )"
+
+  "((@(1plus 1))eval)print"
+  "2"
+
+  "(@(1plus 1))eval print"
+  "2"
 
   # in this case still the @ ties to the first element
   # that comes after it i.e. ( 1 plus 1 )
-  '@(1 plus 1)eval print'
-  '2'
-
-  '@a←5.@b←@a.b print.a print'
-  'a5'
-
-  'true negate print'
-  'false'
+  "@(1 plus 1)eval print"
+  "2"
+
+  "@a←5.@b←@a.b print.a print"
+  "a5"
+
+  "true negate print"
+  "false"
 
   # note how the first not understood
   # prevents any further statement to be
   # executed.
-  '1 negate. 2print'
-  '! message was not understood: ( negate )'
-
-  'negate print'
-  '! no meaning found for: negate was sent message: ( print )'
-
-  'nonExistingObject'
-  '! no meaning found for: nonExistingObject'
-
-  '1 == 1 negate. 2print'
-  '2'
-
-  '(false and false)print'
-  'false'
-
-  '(false and true)print'
-  'false'
-
-  '(true and false)print'
-  'false'
-
-  '(true and true)print'
-  'true'
-
-  '(false or false)print'
-  'false'
-
-  '(false or true)print'
-  'true'
-
-  '(true or false)print'
-  'true'
-
-  '(true or true)print'
-  'true'
-
-  '(not true)print'
-  'false'
-
-  '(not not true)print'
-  'true'
-
-  '(not not not true)print'
-  'false'
-
-  '(not not not not true)print'
-  'true'
-
-  'true⇒(1print)'
-  '1'
-
-  'false⇒(1print)2print'
-  '2'
-
-  '(0==0)print'
-  'true'
-
-  '(1==0)print'
-  'false'
-
-  '(0amIZero)print'
-  'true'
-
-  '(1amIZero)print'
-  'false'
-
-  '(8minus 1)print'
-  '7'
-
-  'true⇒(1print)2print'
-  '1'
-
-  '0factorial print'
-  '1'
-
-  '1factorial print'
-  '1'
-
-  '2factorial print'
-  '2'
-
-  '7factorial print'
-  '5040'
-
-  '0factorialtwo print'
-  '1'
-
-  '1factorialtwo print'
-  '1'
-
-  '2factorialtwo print'
-  '2'
-
-  '7factorialtwo print'
-  '5040'
-
-  '7factorialthree print'
-  '5040'
-
-  '7factorialfour print'
-  '5040'
-
-  '7factorialfive print'
-  '5040'
-
-  '7selftimesminusone print'
-  '42'
-
-  '@a←5.1printAFromDeeperCall'
-  '5'
-
-  '@a←5.repeat1((a==0)⇒(done)@a←a minus 1).a print'
-  '0'
+  "1 negate. 2print"
+  "! message was not understood: ( negate )"
+
+  "negate print"
+  "! no meaning found for: negate was sent message: ( print )"
+
+  "nonExistingObject"
+  "! no meaning found for: nonExistingObject"
+
+  "1 == 1 negate. 2print"
+  "2"
+
+  "(false and false)print"
+  "false"
+
+  "(false and true)print"
+  "false"
+
+  "(true and false)print"
+  "false"
+
+  "(true and true)print"
+  "true"
+
+  "(false or false)print"
+  "false"
+
+  "(false or true)print"
+  "true"
+
+  "(true or false)print"
+  "true"
+
+  "(true or true)print"
+  "true"
+
+  "(not true)print"
+  "false"
+
+  "(not not true)print"
+  "true"
+
+  "(not not not true)print"
+  "false"
+
+  "(not not not not true)print"
+  "true"
+
+  "true⇒(1print)"
+  "1"
+
+  "false⇒(1print)2print"
+  "2"
+
+  "(0==0)print"
+  "true"
+
+  "(1==0)print"
+  "false"
+
+  "(0amIZero)print"
+  "true"
+
+  "(1amIZero)print"
+  "false"
+
+  "(8minus 1)print"
+  "7"
+
+  "true⇒(1print)2print"
+  "1"
+
+  "0factorial print"
+  "1"
+
+  "1factorial print"
+  "1"
+
+  "2factorial print"
+  "2"
+
+  "7factorial print"
+  "5040"
+
+  "0factorialtwo print"
+  "1"
+
+  "1factorialtwo print"
+  "1"
+
+  "2factorialtwo print"
+  "2"
+
+  "7factorialtwo print"
+  "5040"
+
+  "7factorialthree print"
+  "5040"
+
+  "7factorialfour print"
+  "5040"
+
+  "7factorialfive print"
+  "5040"
+
+  "7selftimesminusone print"
+  "42"
+
+  "@a←5.1printAFromDeeperCall"
+  "5"
+
+  "@a←5.repeat1((a==0)⇒(done)@a←a minus 1).a print"
+  "0"
 
   """
   @a←5

  
  a print
  """
  '0'

  """
  @a←5

    myObject printClassCounter.\
    @myObject2←MyClass new.myObject2 printClassCounter.\
    myObject2 incrementClassCounterByTwo.\
    myObject2 printClassCounter"
  "0224"


  "to sayHello (withName (name)) (\"Hello \" print. name print). sayHello withName \"Dave\""
  "Hello Dave"

  "to sayHello2 ((name)) (\"HELLO \" print. name print). sayHello2 \"Dave\""
  "HELLO Dave"

  "@( \"Hello \" \"Dave \" \"my \" \"dear \" \"friend\") each word do (word print)"
  "Hello Dave my dear friend"

  "@someException ← Exception new initWith \"my custom error\". someException print"
  "my custom error"

  # wrong error to raise exceptions, they must be thrown
  "@someException ← Exception new initWith \"my custom error\".\
    try ( 1 print. someException )\
    catch ( someException ) handle ( \" caught the error I wanted\" print )"
  "1"

  # wrong error to raise exceptions, they must be thrown
  "@someException ← Exception new initWith \"my custom error\".\
    @someOtherException ← Exception new initWith \"my other custom error\".\
    try ( 1 print. someException )\
    catch ( someException ) handle ( \" caught the error I wanted\" print )"
  "1"

  # wrong error to raise exceptions, they must be thrown
  "@someException ← Exception new initWith \"my custom error\".\
    @someOtherException ← Exception new initWith \"my other custom error\".\
    try ( 1 print. someException )\
    catch ( someOtherException ) handle ( \" caught the error I wanted\" print )"
  "1"

  # thrown exception, note how the statement after the throw is not executed.
  "@someException ← Exception new initWith \"my custom error\".\
    try ( 1 print. throw someException. 2 print )\
    catch ( someException ) handle ( \" caught the error I wanted\" print )"
  "1 caught the error I wanted"

  # thrown exception, note how the statement after the throw is not executed.
  "@someException ← Exception new initWith \"my custom error\".\
    @someOtherException ← Exception new initWith \"my other custom error\".\
    try ( 1 print. throw someException. 2 print )\
    catch ( someException ) handle ( \" caught the error I wanted\" print )"
  "1 caught the error I wanted"

  # thrown exception, note how the statement after the throw is not executed.
  "@someException ← Exception new initWith \"my custom error\".\
    @someOtherException ← Exception new initWith \"my other custom error\".\
    try ( 1 print. throw someException. 2 print )\
    catch ( someOtherException ) handle ( \" caught the error I wanted\" print )"
  "1"

  # thrown exception, note how the statement after the throw is not executed.
  "@someException ← Exception new initWith \"my custom error\".\
    @someOtherException ← Exception new initWith \"my other custom error\".\
    try ( 1 print. throw someOtherException. 2 print )\
    catch ( someOtherException ) handle ( \" caught the error the first time around\" )\
    catch ( someException ) handle ( \" caught the error the second time around\" ) print"
  "1 caught the error the first time around"

  "@someException ← Exception new initWith \"my custom error\".\
    @someOtherException ← Exception new initWith \"my other custom error\".\
    try ( 1 print. throw someException. 2 print )\
    catch ( someOtherException ) handle ( \" caught the error the first time around\" )\
    catch ( someException ) handle ( \" caught the error the second time around\" ) print"
  "1 caught the error the second time around"

  # catch-all case 1
  "@someException ← Exception new initWith \"my custom error\".\
    @someOtherException ← Exception new initWith \"my other custom error\".\
    try ( 1 print. throw someOtherException. 2 print )\
    catch ( someOtherException ) handle ( \" caught the error the first time around\" )\
    catch ( someException ) handle ( \" caught the error the second time around\" )\
    catch all handle (\" catch all branch\") print"
  "1 caught the error the first time around"

  # catch-all case 2
  "@someException ← Exception new initWith \"my custom error\".\
    @someOtherException ← Exception new initWith \"my other custom error\".\
    try ( 1 print. throw someException. 2 print )\
    catch ( someOtherException ) handle ( \" caught the error the first time around\" )\
    catch ( someException ) handle ( \" caught the error the second time around\" )\
    catch all handle (\" catch all branch\") print"
  "1 caught the error the second time around"

  # catch-all case 3
  "@someException ← Exception new initWith \"my custom error\".\
    @someOtherException ← Exception new initWith \"my other custom error\".\
    @yetAnotherException ← Exception new initWith \"another custom error that is only caught by the catch all branch\".\
    try ( 1 print. throw yetAnotherException. 2 print )\
    catch ( someOtherException ) handle ( \" caught the error the first time around\" )\
    catch ( someException ) handle ( \" caught the error the second time around\" )\
    catch all handle (\" catch all branch\") print"
  "1 catch all branch"

  #@ a ← 5 someUndefinedMessage'
  #'7"

]

