YHStatusTests.m 5.85 KB
//
//  YHStatusTests.m
//  YH_Analytics
//
//  Created by Zhou Rongjun on 15/4/15.
//  Copyright (c) 2015年 YOHO. All rights reserved.
//

#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
#import "OCMock.h"
#import "YHStatus.h"

@interface YHStatusTests : XCTestCase {
@private
    YHStatus *status;
}

@end

@implementation YHStatusTests

- (void)setUp {
    [super setUp];
    // Put setup code here. This method is called before the invocation of each test method in the class.
    NSLog(@"%@ setUp", self.name);
    status = [[YHStatus alloc] init];
    XCTAssertNotNil(status, @"Cannot create YHStatus instance.");
}

- (void)tearDown {
    // Put teardown code here. This method is called after the invocation of each test method in the class.
    status = nil;
    [super tearDown];
    NSLog(@"%@ tearDown", self.name);
}

#pragma mark - super property

- (void)testDataType {
    NSLog(@"%@ start", self.name);
    YHItemDataType type = [status dataType];
    XCTAssert(type == YHItemDataTypeStatus, @"Status dataType must be YHItemDataTypeStatus.");
    NSLog(@"%@ end", self.name);
}

- (void)testJsonDictionaryNotNil {
    NSLog(@"%@ start", self.name);
    NSDictionary *jsonDictionary = [status jsonDictionary];
    XCTAssertNotNil(jsonDictionary, @"Status jsonDictionary can't be nil.");
    NSLog(@"%@ end", self.name);
}

#pragma mark - self property

- (void)testAvNotNil {
    NSLog(@"%@ start", self.name);
    NSString *av = [status av];
    XCTAssertNotNil(av, @"Status av can't be nil.");
    NSLog(@"%@ end", self.name);
}

- (void)testAbNotNil {
    NSLog(@"%@ start", self.name);
    NSString *ab = [status ab];
    XCTAssertNotNil(ab, @"Status ab can't be nil.");
    NSLog(@"%@ end", self.name);
}

- (void)testLoNotNil {
    NSLog(@"%@ start", self.name);
    NSString *lo = [status lo];
    XCTAssertNotNil(lo, @"Status lo can't be nil.");
    NSLog(@"%@ end", self.name);
}

- (void)testLaNotNil {
    NSLog(@"%@ start", self.name);
    NSString *la = [status la];
    XCTAssertNotNil(la, @"Status la can't be nil.");
    NSLog(@"%@ end", self.name);
}

- (void)testUdidNotNil {
    NSLog(@"%@ start", self.name);
    NSString *udid = [status udid];
    XCTAssertNotNil(udid, @"Status udid can't be nil.");
    NSLog(@"%@ end", self.name);
}

- (void)testNetNotNil {
    NSLog(@"%@ start", self.name);
    NSString *net = [status net];
    XCTAssertNotNil(net, @"Status net can't be nil.");
    NSLog(@"%@ end", self.name);
}

- (void)testCaNotNil {
    NSLog(@"%@ start", self.name);
    NSString *ca = [status ca];
    XCTAssertNotNil(ca, @"Status ca can't be nil.");
    NSLog(@"%@ end", self.name);
}

- (void)testCyNotNil {
    NSLog(@"%@ start", self.name);
    NSString *cy = [status cy];
    XCTAssertNotNil(cy, @"Status cy can't be nil.");
    NSLog(@"%@ end", self.name);
}

- (void)testLnNotNil {
    NSLog(@"%@ start", self.name);
    NSString *ln = [status ln];
    XCTAssertNotNil(ln, @"Status ln can't be nil.");
    NSLog(@"%@ end", self.name);
}


#pragma mark - value for json key

- (void)testValueForJsonKeyStatusAV {
    NSLog(@"%@ start", self.name);
    NSDictionary *jsonDictionary = [status jsonDictionary];
    id value = [jsonDictionary objectForKey:JsonKeyStatusAV];
    XCTAssert(value, @"JsonKeyStatusAV value doesn't exist.");
    NSLog(@"%@ end", self.name);
}

- (void)testValueForJsonKeyStatusAB {
    NSLog(@"%@ start", self.name);
    NSDictionary *jsonDictionary = [status jsonDictionary];
    id value = [jsonDictionary objectForKey:JsonKeyStatusAB];
    XCTAssert(value, @"JsonKeyStatusAB value doesn't exist.");
    NSLog(@"%@ end", self.name);
}


- (void)testValueForJsonKeyStatusNET {
    NSLog(@"%@ start", self.name);
    NSDictionary *jsonDictionary = [status jsonDictionary];
    id value = [jsonDictionary objectForKey:JsonKeyStatusNET];
    XCTAssert(value, @"JsonKeyStatusNET value doesn't exist.");
    NSLog(@"%@ end", self.name);
}

- (void)testValueForJsonKeyStatusSID {
    NSLog(@"%@ start", self.name);
    NSDictionary *jsonDictionary = [status jsonDictionary];
    id value = [jsonDictionary objectForKey:JsonKeyStatusSID];
    XCTAssert(value, @"JsonKeyStatusSID value doesn't exist.");
    NSLog(@"%@ end", self.name);
}

- (void)testValueForJsonKeyStatusCA {
    NSLog(@"%@ start", self.name);
    NSDictionary *jsonDictionary = [status jsonDictionary];
    id value = [jsonDictionary objectForKey:JsonKeyStatusCA];
    XCTAssert(value, @"JsonKeyStatusCA value doesn't exist.");
    NSLog(@"%@ end", self.name);
}

- (void)testValueForJsonKeyStatusUDID {
    NSLog(@"%@ start", self.name);
    NSDictionary *jsonDictionary = [status jsonDictionary];
    id value = [jsonDictionary objectForKey:JsonKeyStatusUDID];
    XCTAssert(value, @"JsonKeyStatusUDID value doesn't exist.");
    NSLog(@"%@ end", self.name);
}

- (void)testValueForJsonKeyStatusCY {
    NSLog(@"%@ start", self.name);
    NSDictionary *jsonDictionary = [status jsonDictionary];
    id value = [jsonDictionary objectForKey:JsonKeyStatusCY];
    XCTAssert(value, @"JsonKeyStatusCY value doesn't exist.");
    NSLog(@"%@ end", self.name);
}

- (void)testValueForJsonKeyStatusLN {
    NSLog(@"%@ start", self.name);
    NSDictionary *jsonDictionary = [status jsonDictionary];
    id value = [jsonDictionary objectForKey:JsonKeyStatusLN];
    XCTAssert(value, @"JsonKeyStatusLN value doesn't exist.");
    NSLog(@"%@ end", self.name);
}

- (void)testValueForJsonKeyStatusLO {
    NSLog(@"%@ start", self.name);
    NSDictionary *jsonDictionary = [status jsonDictionary];
    id value = [jsonDictionary objectForKey:JsonKeyStatusLO];
    XCTAssert(value, @"JsonKeyStatusLO value doesn't exist.");
    NSLog(@"%@ end", self.name);
}

- (void)testValueForJsonKeyStatusLA {
    NSLog(@"%@ start", self.name);
    NSDictionary *jsonDictionary = [status jsonDictionary];
    id value = [jsonDictionary objectForKey:JsonKeyStatusLA];
    XCTAssert(value, @"JsonKeyStatusLA value doesn't exist.");
    NSLog(@"%@ end", self.name);
}

@end