新增YH_AnalyticsLogicTest. Review by 阿瑟。
Showing
12 changed files
with
167 additions
and
67 deletions
@@ -30,6 +30,7 @@ | @@ -30,6 +30,7 @@ | ||
30 | CA7AC79E1ADE0C3900F30791 /* YHDeviceFactoryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CA7AC79D1ADE0C3900F30791 /* YHDeviceFactoryTests.m */; }; | 30 | CA7AC79E1ADE0C3900F30791 /* YHDeviceFactoryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CA7AC79D1ADE0C3900F30791 /* YHDeviceFactoryTests.m */; }; |
31 | CA7AC7A01ADE0C4F00F30791 /* YHEventFactoryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CA7AC79F1ADE0C4F00F30791 /* YHEventFactoryTests.m */; }; | 31 | CA7AC7A01ADE0C4F00F30791 /* YHEventFactoryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CA7AC79F1ADE0C4F00F30791 /* YHEventFactoryTests.m */; }; |
32 | CA7AC7A21ADE0C6600F30791 /* YHStatusFactoryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CA7AC7A11ADE0C6600F30791 /* YHStatusFactoryTests.m */; }; | 32 | CA7AC7A21ADE0C6600F30791 /* YHStatusFactoryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CA7AC7A11ADE0C6600F30791 /* YHStatusFactoryTests.m */; }; |
33 | + CA7AC7A41ADF9FCB00F30791 /* YH_AnalyticsLogicTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CA7AC7A31ADF9FCB00F30791 /* YH_AnalyticsLogicTests.m */; }; | ||
33 | CABC32831AD7CEB8002A4260 /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CABC32821AD7CEB8002A4260 /* libOCMock.a */; }; | 34 | CABC32831AD7CEB8002A4260 /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CABC32821AD7CEB8002A4260 /* libOCMock.a */; }; |
34 | E74D45B21ABA7C6300EFE12E /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = E74D458E1ABA7C6300EFE12E /* AFHTTPRequestOperation.m */; }; | 35 | E74D45B21ABA7C6300EFE12E /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = E74D458E1ABA7C6300EFE12E /* AFHTTPRequestOperation.m */; }; |
35 | E74D45B31ABA7C6300EFE12E /* AFHTTPRequestOperationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E74D45901ABA7C6300EFE12E /* AFHTTPRequestOperationManager.m */; }; | 36 | E74D45B31ABA7C6300EFE12E /* AFHTTPRequestOperationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E74D45901ABA7C6300EFE12E /* AFHTTPRequestOperationManager.m */; }; |
@@ -126,6 +127,7 @@ | @@ -126,6 +127,7 @@ | ||
126 | CA7AC79D1ADE0C3900F30791 /* YHDeviceFactoryTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YHDeviceFactoryTests.m; sourceTree = "<group>"; }; | 127 | CA7AC79D1ADE0C3900F30791 /* YHDeviceFactoryTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YHDeviceFactoryTests.m; sourceTree = "<group>"; }; |
127 | CA7AC79F1ADE0C4F00F30791 /* YHEventFactoryTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YHEventFactoryTests.m; sourceTree = "<group>"; }; | 128 | CA7AC79F1ADE0C4F00F30791 /* YHEventFactoryTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YHEventFactoryTests.m; sourceTree = "<group>"; }; |
128 | CA7AC7A11ADE0C6600F30791 /* YHStatusFactoryTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YHStatusFactoryTests.m; sourceTree = "<group>"; }; | 129 | CA7AC7A11ADE0C6600F30791 /* YHStatusFactoryTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YHStatusFactoryTests.m; sourceTree = "<group>"; }; |
130 | + CA7AC7A31ADF9FCB00F30791 /* YH_AnalyticsLogicTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YH_AnalyticsLogicTests.m; sourceTree = "<group>"; }; | ||
129 | CABC32791AD7CE40002A4260 /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+OCMAdditions.h"; sourceTree = "<group>"; }; | 131 | CABC32791AD7CE40002A4260 /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+OCMAdditions.h"; sourceTree = "<group>"; }; |
130 | CABC327A1AD7CE40002A4260 /* OCMArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMArg.h; sourceTree = "<group>"; }; | 132 | CABC327A1AD7CE40002A4260 /* OCMArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMArg.h; sourceTree = "<group>"; }; |
131 | CABC327B1AD7CE40002A4260 /* OCMConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMConstraint.h; sourceTree = "<group>"; }; | 133 | CABC327B1AD7CE40002A4260 /* OCMConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMConstraint.h; sourceTree = "<group>"; }; |
@@ -291,6 +293,7 @@ | @@ -291,6 +293,7 @@ | ||
291 | CA7AC78D1ADE08AF00F30791 /* ModelTest */, | 293 | CA7AC78D1ADE08AF00F30791 /* ModelTest */, |
292 | CA7AC78C1ADE088D00F30791 /* UtilsTest */, | 294 | CA7AC78C1ADE088D00F30791 /* UtilsTest */, |
293 | 194EDC8F1A7F52D100421E6C /* YH_AnalyticsTests.m */, | 295 | 194EDC8F1A7F52D100421E6C /* YH_AnalyticsTests.m */, |
296 | + CA7AC7A31ADF9FCB00F30791 /* YH_AnalyticsLogicTests.m */, | ||
294 | CA7AC7821ADE06F300F30791 /* YHCrashReporterTests.m */, | 297 | CA7AC7821ADE06F300F30791 /* YHCrashReporterTests.m */, |
295 | CA7AC7841ADE073200F30791 /* NSString+YHAnalyticsTests.m */, | 298 | CA7AC7841ADE073200F30791 /* NSString+YHAnalyticsTests.m */, |
296 | 194EDC8D1A7F52D100421E6C /* Supporting Files */, | 299 | 194EDC8D1A7F52D100421E6C /* Supporting Files */, |
@@ -688,6 +691,7 @@ | @@ -688,6 +691,7 @@ | ||
688 | CA7AC7931ADE08F000F30791 /* YHEventTests.m in Sources */, | 691 | CA7AC7931ADE08F000F30791 /* YHEventTests.m in Sources */, |
689 | CA7AC7851ADE073200F30791 /* NSString+YHAnalyticsTests.m in Sources */, | 692 | CA7AC7851ADE073200F30791 /* NSString+YHAnalyticsTests.m in Sources */, |
690 | CA7AC79E1ADE0C3900F30791 /* YHDeviceFactoryTests.m in Sources */, | 693 | CA7AC79E1ADE0C3900F30791 /* YHDeviceFactoryTests.m in Sources */, |
694 | + CA7AC7A41ADF9FCB00F30791 /* YH_AnalyticsLogicTests.m in Sources */, | ||
691 | CA7AC79A1ADE0BD500F30791 /* YHDataFactoryTests.m in Sources */, | 695 | CA7AC79A1ADE0BD500F30791 /* YHDataFactoryTests.m in Sources */, |
692 | CA7AC79C1ADE0C0800F30791 /* YHErrorFactoryTests.m in Sources */, | 696 | CA7AC79C1ADE0C0800F30791 /* YHErrorFactoryTests.m in Sources */, |
693 | CA7AC7A01ADE0C4F00F30791 /* YHEventFactoryTests.m in Sources */, | 697 | CA7AC7A01ADE0C4F00F30791 /* YHEventFactoryTests.m in Sources */, |
@@ -20,18 +20,18 @@ | @@ -20,18 +20,18 @@ | ||
20 | // Override point for customization after application launch. | 20 | // Override point for customization after application launch. |
21 | 21 | ||
22 | // 设置发送策略 | 22 | // 设置发送策略 |
23 | -// [YH_Analytics shareInstance].logStrategy = LogStrategyCustom; | 23 | +// [YH_Analytics sharedInstance].logStrategy = LogStrategyCustom; |
24 | 24 | ||
25 | // 自定义发送时间,从服务器获取 | 25 | // 自定义发送时间,从服务器获取 |
26 | - [YH_Analytics shareInstance].customInterval = 1000; | 26 | + [YH_Analytics sharedInstance].customInterval = 1000; |
27 | 27 | ||
28 | // 设置用户id | 28 | // 设置用户id |
29 | - [YH_Analytics shareInstance].uid = @"0000001"; | 29 | + [YH_Analytics sharedInstance].uid = @"0000001"; |
30 | 30 | ||
31 | // 启动 | 31 | // 启动 |
32 | - [[YH_Analytics shareInstance]startWithAppId:@"appid"]; | 32 | + [[YH_Analytics sharedInstance]startWithAppId:@"appid"]; |
33 | 33 | ||
34 | - NSLog(@"logStrategy == %d", [YH_Analytics shareInstance].logStrategy); | 34 | + NSLog(@"logStrategy == %d", [YH_Analytics sharedInstance].logStrategy); |
35 | return YES; | 35 | return YES; |
36 | } | 36 | } |
37 | 37 |
@@ -20,7 +20,7 @@ | @@ -20,7 +20,7 @@ | ||
20 | [super viewDidLoad]; | 20 | [super viewDidLoad]; |
21 | 21 | ||
22 | [self.imageView setImage:[UIImage imageNamed:@"stastsold"]]; | 22 | [self.imageView setImage:[UIImage imageNamed:@"stastsold"]]; |
23 | - self.segment.selectedSegmentIndex = [YH_Analytics shareInstance].logStrategy; | 23 | + self.segment.selectedSegmentIndex = [YH_Analytics sharedInstance].logStrategy; |
24 | } | 24 | } |
25 | 25 | ||
26 | - (void)didReceiveMemoryWarning { | 26 | - (void)didReceiveMemoryWarning { |
@@ -31,7 +31,7 @@ | @@ -31,7 +31,7 @@ | ||
31 | - (IBAction)click:(id)sender { | 31 | - (IBAction)click:(id)sender { |
32 | 32 | ||
33 | for (int i = 0; i< 10; i++) { | 33 | for (int i = 0; i< 10; i++) { |
34 | - [[YH_Analytics shareInstance] logEvent:@"test" parameters: | 34 | + [[YH_Analytics sharedInstance] logEvent:@"test" parameters: |
35 | @{@"key1" : [NSString stringWithFormat:@"%d", i], | 35 | @{@"key1" : [NSString stringWithFormat:@"%d", i], |
36 | @"key2" : @"v2" | 36 | @"key2" : @"v2" |
37 | }]; | 37 | }]; |
@@ -43,7 +43,7 @@ | @@ -43,7 +43,7 @@ | ||
43 | 43 | ||
44 | 44 | ||
45 | // for (int i = 0; i< 10; i++) { | 45 | // for (int i = 0; i< 10; i++) { |
46 | - [[YH_Analytics shareInstance]logError:@"NETWORK" parameters: | 46 | + [[YH_Analytics sharedInstance]logError:@"NETWORK" parameters: |
47 | @{JsonKeyErrorEC:@"503", // 错误码 | 47 | @{JsonKeyErrorEC:@"503", // 错误码 |
48 | JsonKeyErrorEI:@"getUserAvatar" //发生错误接口 | 48 | JsonKeyErrorEI:@"getUserAvatar" //发生错误接口 |
49 | }]; | 49 | }]; |
@@ -68,17 +68,17 @@ | @@ -68,17 +68,17 @@ | ||
68 | 68 | ||
69 | switch (index) { | 69 | switch (index) { |
70 | case 0: { | 70 | case 0: { |
71 | - [YH_Analytics shareInstance].logStrategy = LogStrategyAppLaunch; | 71 | + [YH_Analytics sharedInstance].logStrategy = LogStrategyAppLaunch; |
72 | break; | 72 | break; |
73 | } | 73 | } |
74 | case 1: { | 74 | case 1: { |
75 | - [YH_Analytics shareInstance].logStrategy = LogStrategyCustom; | 75 | + [YH_Analytics sharedInstance].logStrategy = LogStrategyCustom; |
76 | [[NSUserDefaults standardUserDefaults] setDouble:60 forKey:kKeyUserDefaultsCustomInterval]; | 76 | [[NSUserDefaults standardUserDefaults] setDouble:60 forKey:kKeyUserDefaultsCustomInterval]; |
77 | [[NSUserDefaults standardUserDefaults] synchronize]; | 77 | [[NSUserDefaults standardUserDefaults] synchronize]; |
78 | break; | 78 | break; |
79 | } | 79 | } |
80 | case 2: { | 80 | case 2: { |
81 | - [YH_Analytics shareInstance].logStrategy = LogStrategyImmedi;; | 81 | + [YH_Analytics sharedInstance].logStrategy = LogStrategyImmedi;; |
82 | break; | 82 | break; |
83 | } | 83 | } |
84 | default: | 84 | default: |
@@ -31,7 +31,7 @@ extern NSString * const JsonKeyDataTypeErrors; | @@ -31,7 +31,7 @@ extern NSString * const JsonKeyDataTypeErrors; | ||
31 | @property (strong, nonatomic) YHStatus *currentStatus; | 31 | @property (strong, nonatomic) YHStatus *currentStatus; |
32 | @property (strong, nonatomic) NSMutableDictionary *immediUploadItemDic; // 用于立即发送策略下(device信息是相同的) | 32 | @property (strong, nonatomic) NSMutableDictionary *immediUploadItemDic; // 用于立即发送策略下(device信息是相同的) |
33 | 33 | ||
34 | -+ (instancetype)shareInstance; | 34 | ++ (instancetype)sharedInstance; |
35 | 35 | ||
36 | - (BOOL)canPersisiting; | 36 | - (BOOL)canPersisiting; |
37 | 37 |
@@ -57,16 +57,16 @@ NSString * const JsonKeyDataTypeErrors = @"errors"; | @@ -57,16 +57,16 @@ NSString * const JsonKeyDataTypeErrors = @"errors"; | ||
57 | 57 | ||
58 | #pragma mark - 初始化 | 58 | #pragma mark - 初始化 |
59 | static dispatch_queue_t persisitingQueue; | 59 | static dispatch_queue_t persisitingQueue; |
60 | -+ (instancetype)shareInstance | 60 | ++ (instancetype)sharedInstance |
61 | { | 61 | { |
62 | - static YHAssemblyAssistant *_shareInstance; | 62 | + static YHAssemblyAssistant *_sharedInstance; |
63 | static dispatch_once_t onceToken; | 63 | static dispatch_once_t onceToken; |
64 | dispatch_once(&onceToken, ^{ | 64 | dispatch_once(&onceToken, ^{ |
65 | - _shareInstance = [[YHAssemblyAssistant alloc] init]; | 65 | + _sharedInstance = [[YHAssemblyAssistant alloc] init]; |
66 | persisitingQueue = dispatch_queue_create("com.yoho.analytics.persisiting", NULL); | 66 | persisitingQueue = dispatch_queue_create("com.yoho.analytics.persisiting", NULL); |
67 | }); | 67 | }); |
68 | 68 | ||
69 | - return _shareInstance; | 69 | + return _sharedInstance; |
70 | } | 70 | } |
71 | 71 | ||
72 | - (id)init | 72 | - (id)init |
@@ -289,7 +289,7 @@ static dispatch_queue_t persisitingQueue; | @@ -289,7 +289,7 @@ static dispatch_queue_t persisitingQueue; | ||
289 | 289 | ||
290 | if (data) { | 290 | if (data) { |
291 | 291 | ||
292 | - [[YHNetworkAssistant shareInstance] postWhitAPI:kYASApiMethod parameters:data from:self success:^(id responseObject) { | 292 | + [[YHNetworkAssistant sharedInstance] postWhitAPI:kYASApiMethod parameters:data from:self success:^(id responseObject) { |
293 | // NSLog(@"responseObject = %@", responseObject); | 293 | // NSLog(@"responseObject = %@", responseObject); |
294 | } failure:^(NSError *error) { | 294 | } failure:^(NSError *error) { |
295 | NSLog(@"error = %@", error.localizedDescription); | 295 | NSLog(@"error = %@", error.localizedDescription); |
@@ -299,11 +299,11 @@ static dispatch_queue_t persisitingQueue; | @@ -299,11 +299,11 @@ static dispatch_queue_t persisitingQueue; | ||
299 | 299 | ||
300 | - (void)uploadDiskData | 300 | - (void)uploadDiskData |
301 | { | 301 | { |
302 | - NSDictionary *uploadData = [[YHAssemblyAssistant shareInstance] getUploadData]; | 302 | + NSDictionary *uploadData = [[YHAssemblyAssistant sharedInstance] getUploadData]; |
303 | 303 | ||
304 | if (uploadData) { | 304 | if (uploadData) { |
305 | 305 | ||
306 | - [[YHNetworkAssistant shareInstance] postWhitAPI:kYASApiMethod parameters:uploadData from:self success:^(id responseObject) { | 306 | + [[YHNetworkAssistant sharedInstance] postWhitAPI:kYASApiMethod parameters:uploadData from:self success:^(id responseObject) { |
307 | // NSLog(@"responseObject = %@", responseObject); | 307 | // NSLog(@"responseObject = %@", responseObject); |
308 | [self removeLocalFile]; | 308 | [self removeLocalFile]; |
309 | } failure:^(NSError *error) { | 309 | } failure:^(NSError *error) { |
@@ -59,14 +59,14 @@ void uncaughtCrashExceptionHandler(NSException *exception) | @@ -59,14 +59,14 @@ void uncaughtCrashExceptionHandler(NSException *exception) | ||
59 | 59 | ||
60 | + (YHCrashReporter *)sharedInstance | 60 | + (YHCrashReporter *)sharedInstance |
61 | { | 61 | { |
62 | - static YHCrashReporter *shareInstance = nil; | 62 | + static YHCrashReporter *sharedInstance = nil; |
63 | 63 | ||
64 | static dispatch_once_t onceToken; | 64 | static dispatch_once_t onceToken; |
65 | dispatch_once(&onceToken, ^{ | 65 | dispatch_once(&onceToken, ^{ |
66 | - shareInstance = [[YHCrashReporter alloc] init]; | 66 | + sharedInstance = [[YHCrashReporter alloc] init]; |
67 | }); | 67 | }); |
68 | 68 | ||
69 | - return shareInstance; | 69 | + return sharedInstance; |
70 | } | 70 | } |
71 | 71 | ||
72 | #pragma mark - Lifetime methods | 72 | #pragma mark - Lifetime methods |
@@ -122,7 +122,7 @@ void uncaughtCrashExceptionHandler(NSException *exception) | @@ -122,7 +122,7 @@ void uncaughtCrashExceptionHandler(NSException *exception) | ||
122 | { | 122 | { |
123 | NSLog(@"crash============:\n%@", userInfo); | 123 | NSLog(@"crash============:\n%@", userInfo); |
124 | if (userInfo) { | 124 | if (userInfo) { |
125 | - [[YH_Analytics shareInstance] logError:@"CRASH" parameters:@{ JsonKeyErrorST: userInfo}]; | 125 | + [[YH_Analytics sharedInstance] logError:@"CRASH" parameters:@{ JsonKeyErrorST: userInfo}]; |
126 | } | 126 | } |
127 | } | 127 | } |
128 | 128 | ||
@@ -130,7 +130,7 @@ void uncaughtCrashExceptionHandler(NSException *exception) | @@ -130,7 +130,7 @@ void uncaughtCrashExceptionHandler(NSException *exception) | ||
130 | { | 130 | { |
131 | NSLog(@"crash============:\n%@", userInfo); | 131 | NSLog(@"crash============:\n%@", userInfo); |
132 | if (userInfo) { | 132 | if (userInfo) { |
133 | - [[YH_Analytics shareInstance] logError:@"CRASH" parameters:@{ JsonKeyErrorST: userInfo}]; | 133 | + [[YH_Analytics sharedInstance] logError:@"CRASH" parameters:@{ JsonKeyErrorST: userInfo}]; |
134 | } | 134 | } |
135 | } | 135 | } |
136 | 136 |
@@ -19,7 +19,7 @@ static NSString * const YHEAPIErrorDomain = @"YHEAPIErrorDomain"; | @@ -19,7 +19,7 @@ static NSString * const YHEAPIErrorDomain = @"YHEAPIErrorDomain"; | ||
19 | 19 | ||
20 | #pragma mark - Init | 20 | #pragma mark - Init |
21 | 21 | ||
22 | -+ (instancetype)shareInstance; | 22 | ++ (instancetype)sharedInstance; |
23 | 23 | ||
24 | /** | 24 | /** |
25 | * Initializes your network engine with a hostname | 25 | * Initializes your network engine with a hostname |
@@ -28,15 +28,15 @@ AFNetworkReachabilityStatus _currentNetworkStatus; | @@ -28,15 +28,15 @@ AFNetworkReachabilityStatus _currentNetworkStatus; | ||
28 | 28 | ||
29 | #pragma mark - Init | 29 | #pragma mark - Init |
30 | 30 | ||
31 | -+ (instancetype)shareInstance | 31 | ++ (instancetype)sharedInstance |
32 | { | 32 | { |
33 | - static YHNetworkAssistant *_shareInstance; | 33 | + static YHNetworkAssistant *_sharedInstance; |
34 | static dispatch_once_t onceToken; | 34 | static dispatch_once_t onceToken; |
35 | dispatch_once(&onceToken, ^{ | 35 | dispatch_once(&onceToken, ^{ |
36 | _sQueue = dispatch_queue_create("cn.yoho.analytics.network.squeue", 0);// create a serial queue | 36 | _sQueue = dispatch_queue_create("cn.yoho.analytics.network.squeue", 0);// create a serial queue |
37 | _allOperations = [NSMutableSet new]; | 37 | _allOperations = [NSMutableSet new]; |
38 | _reachabilityChangedHandlers = [NSMutableArray array]; | 38 | _reachabilityChangedHandlers = [NSMutableArray array]; |
39 | - _shareInstance = [[YHNetworkAssistant alloc] initWithHostName:kAnalizedURL apiPath:nil customHeaderFields:nil]; | 39 | + _sharedInstance = [[YHNetworkAssistant alloc] initWithHostName:kAnalizedURL apiPath:nil customHeaderFields:nil]; |
40 | 40 | ||
41 | // 监听网络状态 | 41 | // 监听网络状态 |
42 | [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { | 42 | [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { |
@@ -53,7 +53,7 @@ AFNetworkReachabilityStatus _currentNetworkStatus; | @@ -53,7 +53,7 @@ AFNetworkReachabilityStatus _currentNetworkStatus; | ||
53 | [[AFNetworkReachabilityManager sharedManager] startMonitoring]; | 53 | [[AFNetworkReachabilityManager sharedManager] startMonitoring]; |
54 | }); | 54 | }); |
55 | 55 | ||
56 | - return _shareInstance; | 56 | + return _sharedInstance; |
57 | } | 57 | } |
58 | 58 | ||
59 | 59 |
@@ -22,7 +22,7 @@ typedef enum _YohoMobStatLogStrategy { | @@ -22,7 +22,7 @@ typedef enum _YohoMobStatLogStrategy { | ||
22 | /** | 22 | /** |
23 | * 获取统计对象的实例 | 23 | * 获取统计对象的实例 |
24 | */ | 24 | */ |
25 | -+ (YH_Analytics*) shareInstance; | 25 | ++ (YH_Analytics*) sharedInstance; |
26 | 26 | ||
27 | /** | 27 | /** |
28 | * 此处AppId即为应用的appKey | 28 | * 此处AppId即为应用的appKey |
@@ -50,16 +50,16 @@ | @@ -50,16 +50,16 @@ | ||
50 | static dispatch_queue_t persisitingQueue; | 50 | static dispatch_queue_t persisitingQueue; |
51 | 51 | ||
52 | 52 | ||
53 | -+ (YH_Analytics *)shareInstance | 53 | ++ (YH_Analytics *)sharedInstance |
54 | { | 54 | { |
55 | - static YH_Analytics *shareInstance = nil; | 55 | + static YH_Analytics *sharedInstance = nil; |
56 | 56 | ||
57 | static dispatch_once_t onceToken; | 57 | static dispatch_once_t onceToken; |
58 | dispatch_once(&onceToken, ^{ | 58 | dispatch_once(&onceToken, ^{ |
59 | - shareInstance = [[YH_Analytics alloc] init]; | 59 | + sharedInstance = [[YH_Analytics alloc] init]; |
60 | }); | 60 | }); |
61 | 61 | ||
62 | - return shareInstance; | 62 | + return sharedInstance; |
63 | } | 63 | } |
64 | 64 | ||
65 | - (id)init | 65 | - (id)init |
@@ -91,36 +91,36 @@ static dispatch_queue_t persisitingQueue; | @@ -91,36 +91,36 @@ static dispatch_queue_t persisitingQueue; | ||
91 | CTRadioAccessTechnologyeHRPD - 3G (or 3.5 - eHRPD is to allow migration from CDMA EVDO to LTE) | 91 | CTRadioAccessTechnologyeHRPD - 3G (or 3.5 - eHRPD is to allow migration from CDMA EVDO to LTE) |
92 | CTRadioAccessTechnologyLTE - 4G (allowed to be called 4G by the ITU as mentioend above) | 92 | CTRadioAccessTechnologyLTE - 4G (allowed to be called 4G by the ITU as mentioend above) |
93 | */ | 93 | */ |
94 | - [[YHNetworkAssistant shareInstance] addReachabilityChangedHandler:^(AFNetworkReachabilityStatus networkStatus) { | 94 | + [[YHNetworkAssistant sharedInstance] addReachabilityChangedHandler:^(AFNetworkReachabilityStatus networkStatus) { |
95 | CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init]; | 95 | CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init]; |
96 | switch (networkStatus) { | 96 | switch (networkStatus) { |
97 | case AFNetworkReachabilityStatusUnknown: | 97 | case AFNetworkReachabilityStatusUnknown: |
98 | case AFNetworkReachabilityStatusNotReachable: | 98 | case AFNetworkReachabilityStatusNotReachable: |
99 | - [YHAssemblyAssistant shareInstance].currentStatus.net = kNetWorkStatusUnknow; | 99 | + [YHAssemblyAssistant sharedInstance].currentStatus.net = kNetWorkStatusUnknow; |
100 | break; | 100 | break; |
101 | 101 | ||
102 | case AFNetworkReachabilityStatusReachableViaWWAN: | 102 | case AFNetworkReachabilityStatusReachableViaWWAN: |
103 | { | 103 | { |
104 | if ([netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyGPRS]|| [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyEdge]) { | 104 | if ([netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyGPRS]|| [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyEdge]) { |
105 | - [YHAssemblyAssistant shareInstance].currentStatus.net = kNetWorkStatus2G; | 105 | + [YHAssemblyAssistant sharedInstance].currentStatus.net = kNetWorkStatus2G; |
106 | } else if([netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyWCDMA]|| [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSDPA] || [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSUPA]|| [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyeHRPD]) { | 106 | } else if([netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyWCDMA]|| [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSDPA] || [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSUPA]|| [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyeHRPD]) { |
107 | - [YHAssemblyAssistant shareInstance].currentStatus.net = kNetWorkStatus3G; | 107 | + [YHAssemblyAssistant sharedInstance].currentStatus.net = kNetWorkStatus3G; |
108 | } else if([netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) { | 108 | } else if([netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) { |
109 | - [YHAssemblyAssistant shareInstance].currentStatus.net = kNetWorkStatus4G; | 109 | + [YHAssemblyAssistant sharedInstance].currentStatus.net = kNetWorkStatus4G; |
110 | } else { | 110 | } else { |
111 | - [YHAssemblyAssistant shareInstance].currentStatus.net = kNetWorkStatusUnknow; | 111 | + [YHAssemblyAssistant sharedInstance].currentStatus.net = kNetWorkStatusUnknow; |
112 | } | 112 | } |
113 | } | 113 | } |
114 | break; | 114 | break; |
115 | case AFNetworkReachabilityStatusReachableViaWiFi: | 115 | case AFNetworkReachabilityStatusReachableViaWiFi: |
116 | - [YHAssemblyAssistant shareInstance].currentStatus.net = kNetWorkStatusWIFI; | 116 | + [YHAssemblyAssistant sharedInstance].currentStatus.net = kNetWorkStatusWIFI; |
117 | break; | 117 | break; |
118 | 118 | ||
119 | default: | 119 | default: |
120 | break; | 120 | break; |
121 | } | 121 | } |
122 | 122 | ||
123 | - [[YHAssemblyAssistant shareInstance] updateImmediUploadDic]; | 123 | + [[YHAssemblyAssistant sharedInstance] updateImmediUploadDic]; |
124 | }]; | 124 | }]; |
125 | } | 125 | } |
126 | 126 | ||
@@ -167,14 +167,14 @@ static dispatch_queue_t persisitingQueue; | @@ -167,14 +167,14 @@ static dispatch_queue_t persisitingQueue; | ||
167 | { | 167 | { |
168 | [self registerCrashReporter]; | 168 | [self registerCrashReporter]; |
169 | [self registerAppWillEnterForegroundNotification]; | 169 | [self registerAppWillEnterForegroundNotification]; |
170 | - [YHAssemblyAssistant shareInstance].currentStatus.sid = self.session; | ||
171 | - [YHAssemblyAssistant shareInstance].device.ak = appId; | 170 | + [YHAssemblyAssistant sharedInstance].currentStatus.sid = self.session; |
171 | + [YHAssemblyAssistant sharedInstance].device.ak = appId; | ||
172 | 172 | ||
173 | /* | 173 | /* |
174 | 构建即时发送模式下数据 | 174 | 构建即时发送模式下数据 |
175 | */ | 175 | */ |
176 | 176 | ||
177 | - [[YHAssemblyAssistant shareInstance] prepareImmediUploadDic]; | 177 | + [[YHAssemblyAssistant sharedInstance] prepareImmediUploadDic]; |
178 | 178 | ||
179 | /* | 179 | /* |
180 | 检查发送模式 | 180 | 检查发送模式 |
@@ -230,9 +230,9 @@ static dispatch_queue_t persisitingQueue; | @@ -230,9 +230,9 @@ static dispatch_queue_t persisitingQueue; | ||
230 | 230 | ||
231 | // 立即发送策略 | 231 | // 立即发送策略 |
232 | if (self.logStrategy == LogStrategyImmedi) { | 232 | if (self.logStrategy == LogStrategyImmedi) { |
233 | - [[YHAssemblyAssistant shareInstance] uploadImmedilyWithEvent:event]; | 233 | + [[YHAssemblyAssistant sharedInstance] uploadImmedilyWithEvent:event]; |
234 | } else { | 234 | } else { |
235 | - [[YHAssemblyAssistant shareInstance] saveItemData:event]; | 235 | + [[YHAssemblyAssistant sharedInstance] saveItemData:event]; |
236 | } | 236 | } |
237 | 237 | ||
238 | } | 238 | } |
@@ -248,9 +248,9 @@ static dispatch_queue_t persisitingQueue; | @@ -248,9 +248,9 @@ static dispatch_queue_t persisitingQueue; | ||
248 | error.param = param; | 248 | error.param = param; |
249 | 249 | ||
250 | if (self.logStrategy == LogStrategyImmedi) { | 250 | if (self.logStrategy == LogStrategyImmedi) { |
251 | - [[YHAssemblyAssistant shareInstance] uploadImmedilyWithEvent:error]; | 251 | + [[YHAssemblyAssistant sharedInstance] uploadImmedilyWithEvent:error]; |
252 | } else { | 252 | } else { |
253 | - [[YHAssemblyAssistant shareInstance] saveItemData:error]; | 253 | + [[YHAssemblyAssistant sharedInstance] saveItemData:error]; |
254 | } | 254 | } |
255 | } | 255 | } |
256 | 256 | ||
@@ -265,7 +265,7 @@ static dispatch_queue_t persisitingQueue; | @@ -265,7 +265,7 @@ static dispatch_queue_t persisitingQueue; | ||
265 | // 发送本地持久化数据 | 265 | // 发送本地持久化数据 |
266 | - (void)uploadDiskData | 266 | - (void)uploadDiskData |
267 | { | 267 | { |
268 | - [[YHAssemblyAssistant shareInstance] uploadDiskData]; | 268 | + [[YHAssemblyAssistant sharedInstance] uploadDiskData]; |
269 | } | 269 | } |
270 | 270 | ||
271 | // 发送本地持久化数据 | 271 | // 发送本地持久化数据 |
@@ -302,11 +302,11 @@ static dispatch_queue_t persisitingQueue; | @@ -302,11 +302,11 @@ static dispatch_queue_t persisitingQueue; | ||
302 | CLLocationCoordinate2D loc = [newLocation coordinate]; | 302 | CLLocationCoordinate2D loc = [newLocation coordinate]; |
303 | float longitude = loc.longitude; | 303 | float longitude = loc.longitude; |
304 | float latitude = loc.latitude; | 304 | float latitude = loc.latitude; |
305 | - [YHAssemblyAssistant shareInstance].currentStatus.lo = [NSString stringWithFormat:@"%f",longitude]; | ||
306 | - [YHAssemblyAssistant shareInstance].currentStatus.la = [NSString stringWithFormat:@"%f",latitude]; | 305 | + [YHAssemblyAssistant sharedInstance].currentStatus.lo = [NSString stringWithFormat:@"%f",longitude]; |
306 | + [YHAssemblyAssistant sharedInstance].currentStatus.la = [NSString stringWithFormat:@"%f",latitude]; | ||
307 | 307 | ||
308 | // 更新经纬度 | 308 | // 更新经纬度 |
309 | - [[YHAssemblyAssistant shareInstance].immediUploadItemDic setObject:[YHAssemblyAssistant shareInstance].device.jsonDictionary forKey:JsonKeyDataTypeDevice]; | 309 | + [[YHAssemblyAssistant sharedInstance].immediUploadItemDic setObject:[YHAssemblyAssistant sharedInstance].device.jsonDictionary forKey:JsonKeyDataTypeDevice]; |
310 | 310 | ||
311 | } | 311 | } |
312 | 312 |
1 | +// | ||
2 | +// YH_AnalyticsLogicTests.m | ||
3 | +// YH_Analytics | ||
4 | +// | ||
5 | +// Created by Zhou Rongjun on 15/4/16. | ||
6 | +// Copyright (c) 2015年 YOHO. All rights reserved. | ||
7 | +// | ||
8 | + | ||
9 | +#import <UIKit/UIKit.h> | ||
10 | +#import <XCTest/XCTest.h> | ||
11 | +#import "OCMock.h" | ||
12 | +#import <CoreLocation/CoreLocation.h> | ||
13 | +#import "YHCrashReporter.h" | ||
14 | +#import "YHAssemblyAssistant.h" | ||
15 | +#import "YH_Analytics.h" | ||
16 | + | ||
17 | +@interface YH_AnalyticsLogicTests : XCTestCase { | ||
18 | +@private | ||
19 | + id locationManageMock; | ||
20 | + id assemblyAssistantMock; | ||
21 | + id crashReporterMock; | ||
22 | + id networkAssistantMock; | ||
23 | + YH_Analytics *analytics; | ||
24 | +} | ||
25 | + | ||
26 | +@end | ||
27 | + | ||
28 | +@implementation YH_AnalyticsLogicTests | ||
29 | + | ||
30 | +- (void)setUp { | ||
31 | + [super setUp]; | ||
32 | + // Put setup code here. This method is called before the invocation of each test method in the class. | ||
33 | + locationManageMock = OCMClassMock([CLLocationManager class]); | ||
34 | + | ||
35 | + assemblyAssistantMock = OCMClassMock([YHAssemblyAssistant class]); | ||
36 | + OCMStub([assemblyAssistantMock sharedInstance]).andReturn(assemblyAssistantMock); | ||
37 | + | ||
38 | + crashReporterMock = OCMClassMock([YHCrashReporter class]); | ||
39 | + OCMStub([crashReporterMock sharedInstance]).andReturn(crashReporterMock); | ||
40 | + | ||
41 | + networkAssistantMock = OCMClassMock([YHNetworkAssistant class]); | ||
42 | + OCMStub([networkAssistantMock sharedInstance]).andReturn(networkAssistantMock); | ||
43 | +} | ||
44 | + | ||
45 | +- (void)tearDown { | ||
46 | + // Put teardown code here. This method is called after the invocation of each test method in the class. | ||
47 | + [super tearDown]; | ||
48 | +} | ||
49 | + | ||
50 | +#pragma mark - 逻辑分支测试 | ||
51 | + | ||
52 | +- (void)testStartWithAppIdMethodPrepareImmediUploadDic { | ||
53 | + NSLog(@"%@ start", self.name); | ||
54 | + | ||
55 | + analytics = [[YH_Analytics alloc] init]; | ||
56 | + | ||
57 | + OCMExpect([assemblyAssistantMock prepareImmediUploadDic]); | ||
58 | + | ||
59 | + [analytics startWithAppId:@"appId"]; | ||
60 | + | ||
61 | + OCMVerifyAll(assemblyAssistantMock); | ||
62 | + | ||
63 | + NSLog(@"%@ end", self.name); | ||
64 | +} | ||
65 | + | ||
66 | +- (void)testStartWithAppIdMethodWithLogStrategyAppLaunch { | ||
67 | + NSLog(@"%@ start", self.name); | ||
68 | + | ||
69 | + analytics = [[YH_Analytics alloc] init]; | ||
70 | + analytics.logStrategy = LogStrategyAppLaunch; | ||
71 | + | ||
72 | + OCMExpect([assemblyAssistantMock uploadDiskData]); | ||
73 | + | ||
74 | + [analytics startWithAppId:@"appId"]; | ||
75 | + | ||
76 | + OCMVerifyAll(assemblyAssistantMock); | ||
77 | + | ||
78 | + NSLog(@"%@ end", self.name); | ||
79 | +} | ||
80 | + | ||
81 | +- (void)testStartWithAppIdMethodWithLogStrategyCustom { | ||
82 | + NSLog(@"%@ start", self.name); | ||
83 | + | ||
84 | + analytics = [[YH_Analytics alloc] init]; | ||
85 | + analytics.logStrategy = LogStrategyCustom; | ||
86 | + | ||
87 | + OCMExpect([assemblyAssistantMock uploadDiskData]); | ||
88 | + | ||
89 | + [analytics startWithAppId:@"appId"]; | ||
90 | + | ||
91 | + OCMVerifyAll(assemblyAssistantMock); | ||
92 | + | ||
93 | + NSLog(@"%@ end", self.name); | ||
94 | +} | ||
95 | + | ||
96 | +- (void)testStartWithAppIdMethodWithLogStrategyImmedi { | ||
97 | + NSLog(@"%@ start", self.name); | ||
98 | + | ||
99 | + analytics = [[YH_Analytics alloc] init]; | ||
100 | + analytics.logStrategy = LogStrategyImmedi; | ||
101 | + | ||
102 | + OCMExpect([assemblyAssistantMock uploadDiskData]); | ||
103 | + | ||
104 | + [analytics startWithAppId:@"appId"]; | ||
105 | + | ||
106 | + XCTAssertThrows([assemblyAssistantMock verify], @"StartWithAppId should not uploadDiskData when strategy is immediately.") ; | ||
107 | + | ||
108 | + NSLog(@"%@ end", self.name); | ||
109 | +} | ||
110 | +@end |
@@ -81,18 +81,4 @@ | @@ -81,18 +81,4 @@ | ||
81 | NSLog(@"%@ end", self.name); | 81 | NSLog(@"%@ end", self.name); |
82 | } | 82 | } |
83 | 83 | ||
84 | -#pragma mark - 分支测试 | ||
85 | - | ||
86 | -- (void)testStartWithAppIdMethodWithLogStrategyAppLaunch { | ||
87 | - NSLog(@"%@ start", self.name); | ||
88 | - | ||
89 | - NSLog(@"%@ end", self.name); | ||
90 | -} | ||
91 | - | ||
92 | -- (void)testStartWithAppIdMethodWithLogStrategyCustom { | ||
93 | - NSLog(@"%@ start", self.name); | ||
94 | - | ||
95 | - NSLog(@"%@ end", self.name); | ||
96 | -} | ||
97 | - | ||
98 | @end | 84 | @end |
-
Please register or login to post a comment