     }
 
     func testJsonDecode() {
-        let jsonString = "{\"int\":321.0,\"bool\":false," +
-        "\"array\":[\"bar\"],\"dict\":{\"bar\":\"baz\"}," +
-        "\"float\":321.0,\"string\":\"bar\",\"sub\":{\"foo\":\"bar\"}}"
+        let jsonString = "{\"int\":321.0,\"bool\":false,\"date\":0," +
+                         "\"array\":[\"bar\"],\"dict\":{\"bar\":\"baz\"}," +
+                         "\"float\":321.0,\"string\":\"bar\",\"sub\":{\"foo\":\"bar\"}}"
 
-        let decoder = JsonDecoder(jsonString: jsonString)
-        let decoded = TestStruct(json: decoder.json)
+        let json = Json.jsonWithJsonString(jsonString)
+        let decoded = TestStruct(json: json)
 
         XCTAssert(decoded.int == 321, "Invalid int value")
         XCTAssert(decoded.bool == false, "Invalid bool value")

    let array  = ["foo"]
    var dict   = ["foo": "bar"]
    var sub    = TestSubStruct(foo: "bar")

    init() {}
    init(json: Json) {

        XCTAssert(decoded.float == 321.0, "Invalid float value")
        XCTAssert(decoded.string == "bar", "Invalid string value")
        XCTAssert(decoded.sub.foo == "bar", "Invalid sub value")
        XCTAssert(decoded.date == NSDate(timeIntervalSince1970: 0), "Invalid date value")
    }
}
