     #       @num = num
     #   x :: X = new X 3, ""
 
-    # test 'throw access proto this in class', ->
-    #   shouldBeTypeError """
-    #   class X
-    #     constructor :: Number -> ()
-    #     constructor: (num, fuga) ->
-    #       @num = num
-    #   x :: X = new X ""
-    #   """
-
-    # test 'new', ->
-    #   shouldBeTypeError """
-    #   class X
-    #     f: (n :: Number) :: Number ->
-    #       n * n
-    #   x :: X = new X
-    #   n :: String = x.f 3
-    #   """
-
+    test 'throw access proto this in class', ->
+      shouldBeTypeError """
+      class X
+        constructor :: Number -> ()
+        constructor: (num, fuga) ->
+          @num = num
+      x :: X = new X ""
+      """
+
+    test 'new', ->
+      shouldBeTypeError """
+      class X
+        f :: Number -> Number
+        f: (n) -> n * n
+      x :: X = new X
+      n :: String = x.f 3
+      """
 
   suite 'Generics', ->
     # test 'generics', ->

reporter = require '../lib/reporter'
parse = (coffee) ->
  reporter.clean()
  parse coffee

suite 'TypeChecker', ->
  setup ->
    global._root_.vars = []
    global._root_.types = []
    global._root_._this = []

    initializeGlobalTypes(global._root_)
    reporter.clean()

  suite 'Assignment', ->
