         XCTAssertEqual((dictionary["Mix"] as! NSArray)[2] as? NSNull, NSNull())
         XCTAssertEqual((dictionary["Mix"] as! NSArray)[3] as? Double, 655231.9823)
     }
+
+    func testDictionaryIteratingPerformance() {
+        var json: JSON = [:]
+        for i in 1...1000 {
+            json[String(i)] = "hello"
+        }
+        measure {
+            for (key, value) in json {
+                print(key, value)
+            }
+        }
+    }
 }

        XCTAssertEqual(index, 3)
        XCTAssertEqual(array, ["aoo","bpp","zoo"])
    }
    
    func testArrayWithNull() {
        var json:JSON = JSON(rawValue: ["aoo","bpp", NSNull() ,"zoo"] as NSArray)!
        XCTAssertEqual(json.count, 4)
        
        var index = 0
        var array = [AnyObject]()
        for (i, sub) in json {

            dictionary[key] = sub.number!
            index += 1
        }

        XCTAssertEqual(index, 2)
        XCTAssertEqual(dictionary["double"]! as NSNumber, 1.11111)
        XCTAssertEqual(dictionary["int"]! as NSNumber, 987654321)
    }

    func testDictionaryAllBool() {
        var json:JSON = ["t":true, "f":false, "false":false, "tr":true, "true":true]
        XCTAssertEqual(json.count, 5)

        var index = 0
        var dictionary = [String:Bool]()
        for (key, sub) in json {
