     func testUnknownJSSideObjectDeallocation() {
         var o :AnyObject? = optionalAnyObjectInstance as? AnyObject
         weak var ref = o!
-        XCTAssertNotNil(ref);
+        XCTAssertNotNil(ref)
         optionalAnyObjectInstance = nil
         JSSynchronousGarbageCollectForDebugging(this.context.ref)
-        XCTAssertNotNil(ref);
-        optionalAnyVar = o;
-        o = nil;
-        XCTAssertNil(ref);
+        XCTAssertNotNil(ref)
+        optionalAnyVar = o
+        o = nil
+        XCTAssertNil(ref)
     }
     
     func testKnownNativeSideObjectDeallocation() {
         var o :AnyObject? = SimpleObject(1)
         weak var ref = o
-        XCTAssertNotNil(ref);
-        optionalAnyVar = o;
-        o = nil;
-        XCTAssertNotNil(ref);
-        optionalAnyVar = nil;
+        XCTAssertNotNil(ref)
+        optionalAnyVar = o
+        o = nil
+        XCTAssertNotNil(ref)
+        optionalAnyVar = nil
         JSSynchronousGarbageCollectForDebugging(this.context.ref)
         XCTAssertNil(ref)
     }

    
    func testSimpleException() {
        do {
            try throwSimpleError();
            XCTFail();
        } catch let e as CustomStringConvertible {
            XCTAssertEqual("Simple error message", e.description);
        } catch {
            XCTFail();
        }
    }
    
    func testSpecialException() {
        do {
            try throwSpecialError();
            XCTFail();
        } catch let e as SpecialException {
            XCTAssertEqual("Special error message", e.message);
        } catch {
            XCTFail();
        }
    }

    static var testInterfaceMethodCalled = false;
    
    class SimpleInterfaceImpl : SimpleInterface {
        func voidNoArgMethod() {
            testInterfaceMethodCalled = true;
        }
    }

    func testInterface() {
        XCTAssertFalse(simpleInterfaceInstanceCalled);
        simpleInterfaceInstance.voidNoArgMethod();
        XCTAssert(simpleInterfaceInstanceCalled);
        acceptSimpleInterface(SimpleInterfaceImpl());
        XCTAssert(test.testInterfaceMethodCalled);
        test.testInterfaceMethodCalled = false;
        simpleInterfaceInstance.voidNoArgMethod();
        XCTAssert(test.testInterfaceMethodCalled);
    }
    
    static var testInheritanceMethodCalled = false;
    
    class SimpleObjectOverride : SimpleObject {
        override func methodToOverride() {
            testInheritanceMethodCalled = true;
        }
    }
    

    func testKnownJSSideObjectDeallocation() {
        var o :AnyObject? = simpleInterfaceInstance
        weak var ref = o
        XCTAssertNotNil(ref)
        optionalAnyVar = o
        o = nil
        XCTAssertNotNil(ref)
        optionalAnyVar = nil
        JSSynchronousGarbageCollectForDebugging(this.context.ref)
        XCTAssertNil(ref)
    }
