forked from jsonmodel/jsonmodel
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJSONTypesReadTests.m
More file actions
66 lines (48 loc) · 2.84 KB
/
JSONTypesReadTests.m
File metadata and controls
66 lines (48 loc) · 2.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//
// JSONTypesReadTests.m
// JSONModelDemo
//
// Created by Marin Todorov on 02/12/2012.
// Copyright (c) 2012 Underplot ltd. All rights reserved.
//
#import "JSONTypesReadTests.h"
#import "JSONTypesModel.h"
@implementation JSONTypesReadTests
{
JSONTypesModel* t;
}
-(void)setUp
{
[super setUp];
NSString* filePath = [[NSBundle bundleForClass:[JSONModel class]].resourcePath stringByAppendingPathComponent:@"jsonTypes.json"];
NSString* jsonContents = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
XCTAssertNotNil(jsonContents, @"Can't fetch test data file contents.");
NSError* err;
t = [[JSONTypesModel alloc] initWithString: jsonContents error:&err];
XCTAssertNil(err, "%@", [err localizedDescription]);
XCTAssertNotNil(t, @"Could not load the test data file.");
}
-(void)testStandardTypes
{
XCTAssertTrue([t.caption isKindOfClass:[NSString class]], @"caption is not NSString object");
XCTAssertTrue([t.caption isEqualToString:@"This is a text element"], @"caption value is not 'This is a text element'");
XCTAssertTrue([t.dynamicString isKindOfClass:[NSMutableString class]], @"caption is not NSMutableString object");
[t.dynamicString appendString:@"!!!"];
XCTAssertTrue([t.dynamicString isEqualToString:@"A piece of text!!!"], @"caption value is not 'A piece of text!!!'");
XCTAssertTrue([t.year isKindOfClass:[NSNumber class]], @"year is not NSNumber object");
XCTAssertTrue([t.year intValue]==2012, @"year value is not 2012");
XCTAssertTrue([t.pi isKindOfClass:[NSNumber class]], @"pi is not NSNumber object");
XCTAssertTrue(fabsf([t.pi floatValue]-3.14159)<FLT_EPSILON, @"pi value is not 3.14159");
XCTAssertTrue([t.list isKindOfClass:[NSArray class]], @"list failed to read");
XCTAssertTrue([t.list[0] isEqualToString:@"111"], @"list - first obect is not \"111\"");
XCTAssertTrue([t.dynamicList isKindOfClass:[NSArray class]], @"dynamicList failed to read");
XCTAssertTrue([t.dynamicList[0] isEqualToString:@"12"], @"dynamicList - first obect is not \"12\"");
XCTAssertTrue([t.dictionary isKindOfClass:[NSDictionary class]], @"dictionary failed to read");
XCTAssertTrue([t.dictionary[@"test"] isEqualToString:@"mest"], @"dictionary key \"test\"'s value is not \"mest\"");
XCTAssertTrue([t.dynamicDictionary isKindOfClass:[NSMutableDictionary class]], @"dynamicDictionary failed to read");
XCTAssertTrue([t.dynamicDictionary[@"key"] isEqualToString:@"value"], @"dynamicDictionary key \"key\"'s value is not \"value\"");
[t.dynamicDictionary setValue:@"ADDED" forKey:@"newKey"];
XCTAssertTrue([t.dynamicDictionary[@"newKey"] isEqualToString:@"ADDED"], @"dynamicDictionary key \"newKey\"'s value is not \"ADDED\"");
XCTAssertTrue(!t.notAvailable, @"notAvailable is not nil");
}
@end