Skip to content

Instantly share code, notes, and snippets.

@lotreal
Last active August 29, 2015 14:03
Show Gist options
  • Save lotreal/983a9a3cffa4c3b15cd5 to your computer and use it in GitHub Desktop.
Save lotreal/983a9a3cffa4c3b15cd5 to your computer and use it in GitHub Desktop.
JSON on swift
//
// PlayJsonTests.swift
// PlayJsonTests
//
// Created by 罗涛 on 14-6-26.
// Copyright (c) 2014年 罗涛. All rights reserved.
//
import XCTest
import PlayJson
class TestItem: JSONModel {
var title = ""
var rev = 0
}
class TestArray: JSONModel {
var items = TestItem[]()
}
class PlayJsonTests: XCTestCase {
var validJSONString:String!
var validJSONData:NSData!
override func setUp() {
validJSONString = "[{\"title\":\"title@json\", \"rev\": 99}]"
validJSONData = (validJSONString as NSString).dataUsingEncoding(NSUTF8StringEncoding)
super.setUp()
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
super.tearDown()
}
// https://github.com/lingoer/SwiftyJSON
func testSwiftyJSON() {
self.measureBlock() {
let json = JSONValue(self.validJSONData)
NSLog(json[0]["title"].string!)
XCTAssertEqual(json[0]["title"].string!, "title@json", "Wrong unpacked value")
XCTAssertEqual(json[0]["rev"].number!, 99, "Wrong unpacked value")
}
}
func testJSONModel() {
self.measureBlock() {
// var err:JSONModelError?
// var json = TestArray(string:self.validJSONString, error:&err)
// XCTAssertEqual(json.items[0].title, "title@json", "Wrong unpacked value")
// FIX: crashed here
var anotherJsonString = "{\"title\":\"title@json\", \"rev\": 99}"
var err:JSONModelError?
var json = TestItem(string:anotherJsonString, error:&err)
XCTAssertEqual(json.title, "title@json", "Wrong unpacked value")
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment