Last active
December 28, 2015 00:49
-
-
Save maplesteve/7415806 to your computer and use it in GitHub Desktop.
Testcase for possible OClint false positive. Fails in test cases #5 and #7.
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
// | |
// UnnecessaryNilTest.m | |
// | |
#import <XCTest/XCTest.h> | |
@interface MySender : NSObject | |
- (BOOL)returnNO; | |
- (BOOL)returnYES; | |
@end | |
@implementation MySender | |
-(BOOL)returnNO { | |
return NO; | |
} | |
-(BOOL)returnYES { | |
return YES; | |
} | |
@end | |
@interface UnnecessaryNilTest : XCTestCase | |
@end | |
@implementation UnnecessaryNilTest | |
- (void)setUp { | |
[super setUp]; | |
} | |
- (void)tearDown { | |
[super tearDown]; | |
} | |
- (void)testValidWithObjectCheck { | |
MySender *sender = [[MySender alloc] init]; | |
if (sender && [sender returnYES]) { | |
// | |
} else { | |
XCTFail(@"Case 1: Should not be reached."); | |
} | |
if (sender && [sender returnNO]) { | |
XCTFail(@"Case 2: Should not be reached."); | |
} | |
} | |
- (void)testValidWithoutObjectCheck { | |
MySender *sender = [[MySender alloc] init]; | |
if ([sender returnYES]) { | |
// | |
} else { | |
XCTFail(@"Case 3: Should not be reached."); | |
} | |
if ([sender returnNO]) { | |
XCTFail(@"Case 4: Should not be reached."); | |
} | |
} | |
- (void)testNilWithObjectCheck { | |
MySender *sender = nil; | |
if (sender && [sender returnYES]) { | |
// | |
} else { | |
XCTFail(@"Case 5: Should not be reached."); | |
} | |
if (sender && [sender returnNO]) { | |
XCTFail(@"Case 6: Should not be reached."); | |
} | |
} | |
- (void)testNilWithoutObjectCheck { | |
MySender *sender = nil; | |
if ([sender returnYES]) { | |
// | |
} else { | |
XCTFail(@"Case 7: Should not be reached."); | |
} | |
if ([sender returnNO]) { | |
XCTFail(@"Case 8: Should not be reached."); | |
} | |
} | |
@end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment