Last active
August 29, 2015 14:03
-
-
Save lotreal/983a9a3cffa4c3b15cd5 to your computer and use it in GitHub Desktop.
JSON on swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// 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