@@ -25,6 +25,48 @@ @interface MJExtensionTests : XCTestCase
2525
2626@implementation MJExtensionTests
2727
28+ #pragma mark 类型不匹配类型 -> 模型
29+ - (void )testJSON2ModelUnmatched {
30+ // 1.定义一个字典
31+ NSDictionary *dict = @{
32+ @" name" : @[],
33+ @" icon" : @" lufy.png" ,
34+ @" age" : @" 2147483647" ,
35+ @" age2" : @" 4294967295" ,
36+ @" height" : @1.55 ,
37+ @" money" : @" 100.7777777" ,
38+ @" sex" : @(SexFemale),
39+ @" gay" : @" 1" ,
40+ @" speed" : @" 120.5" ,
41+ @" identifier" : @" 9223372036854775807" ,
42+ @" identifier2" : @" 18446744073709551615" ,
43+ @" price" : @" 20.3" ,
44+ @" rich" : @" 2" ,
45+ @" collect" : @" 40个" ,
46+ @" alien" : @" yr Joking"
47+ };
48+
49+ // 2.将字典转为MJUser模型
50+ MJUser *user = [MJUser mj_objectWithKeyValues: dict];
51+
52+ // 3.检测
53+ XCTAssert (!user.name );
54+ XCTAssert ([user.icon isEqual: @" lufy.png" ]);
55+ XCTAssert (user.age == INT_MAX);
56+ XCTAssert (user.age2 == UINT_MAX);
57+ XCTAssert ([user.height isEqualToNumber: @(1.55 )]);
58+ XCTAssert ([user.money compare: [NSDecimalNumber decimalNumberWithString: @" 100.7777777" ]] == NSOrderedSame);
59+ XCTAssert (user.sex == SexFemale);
60+ XCTAssert (user.gay );
61+ XCTAssert (user.speed == 120 );
62+ XCTAssert (user.identifier == LONG_LONG_MAX);
63+ XCTAssert (user.identifier2 == ULONG_LONG_MAX);
64+ XCTAssert (user.price == 20.3 );
65+ XCTAssert (user.rich );
66+ XCTAssert (user.collect == 40 );
67+ XCTAssert (!user.alien );
68+ }
69+
2870#pragma mark 简单的字典 -> 模型
2971- (void )testJSON2Model {
3072 // 1.定义一个字典
0 commit comments