TEST(ObjCNSNumberLiteralsRuleTest, NumberWithBoxedUnsignedLongLong)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "void m() { NSNumber *fortyTwoUnsignedLongLong = [NSNumber numberWithUnsignedLongLong:(43ULL - 1ULL)]; }");
}
TEST(ObjcVerifySubclassMustImplementRuleTest, SubChildUnaffected)
{
    testRuleOnObjCCode(new ObjCVerifySubclassMustImplementRule(), testSubChildUnaffected);
}
TEST(EmptyTryStatementRuleTest, NonEmptyObjCTryStmt)
{
    testRuleOnObjCCode(new EmptyTryStatementRule(), "void m() { @try { ; } @catch(id ex) { ; } }");
}
TEST(ReturnFromFinallyBlockRuleTest, ReturnFromNestedBlockInsideFinallyBlock)
{
    testRuleOnObjCCode(new ReturnFromFinallyBlockRule(), "void m() { @try {;} @catch(id ex) {;} @finally { int i; if(1) {return;} int j; } }",
        0, 1, 64, 1, 64);
}
TEST(ObjcVerifySubclassMustImplementRuleTest, AnnotationDoesImplement)
{
    testRuleOnObjCCode(new ObjCVerifySubclassMustImplementRule(),
        testAnnotationDoesImplement);
}
TEST(ObjCNSNumberLiteralsRuleTest, UnsignedIntLiteral)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "void m() { NSNumber *fortyTwoUnsigned = @42U; }");
}
TEST(ReturnFromFinallyBlockRuleTest, NoReturnFromFinallyBlock)
{
    testRuleOnObjCCode(new ReturnFromFinallyBlockRule(), "void m() { @try {;} @catch(id ex) {;} @finally {;} }");
}
TEST(ObjCNSNumberLiteralsRuleTest, BOOLYesLiteral_newBOOLDef)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix + newBOOLDef +
        "void m() { NSNumber *fortyTwoBOOL = @YES; }");
}
TEST(ObjCNSNumberLiteralsRuleTest, NumberWithBoolYes_newBOOLDef)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix + newBOOLDef +
        "void m() { NSNumber *fortyTwoBOOL = [NSNumber numberWithBool:YES]; }",
        0, 20, 37, 20, 65);
}
TEST(ObjCNSNumberLiteralsRuleTest, NumberWithDouble)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "void m() { NSNumber *fortyTwoDouble = [NSNumber numberWithDouble:3.1415926535]; }",
        0, 17, 39, 17, 78);
}
TEST(ObjCNSNumberLiteralsRuleTest, NumberWithBoxedDouble)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "void m() { NSNumber *fortyTwoDouble = [NSNumber numberWithDouble:(4.1415926535 - 1.0)]; }");
}
TEST(ObjCNSNumberLiteralsRuleTest, DoubleLiteral)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "void m() { NSNumber *fortyTwoDouble = @3.1415926535; }");
}
TEST(ObjCNSNumberLiteralsRuleTest, NumberWithBoxedFloat)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "void m() { NSNumber *fortyTwoFloat = [NSNumber numberWithFloat:(4.1415926535F - 1.0F)]; }");
}
TEST(ObjCNSNumberLiteralsRuleTest, FloatLiteral)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "void m() { NSNumber *fortyTwoFloat = @3.1415926535F; }");
}
TEST(ObjCNSNumberLiteralsRuleTest, NumberWithInt)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "void m() { NSNumber *fortyTwo = [NSNumber numberWithInt:42]; }",
        0, 17, 33, 17, 59);
}
TEST(ObjCNSNumberLiteralsRuleTest, BOOLNoLiteral_oldBOOLDef)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix + oldBOOLDef +
        "void m() { NSNumber *fortyTwoBOOL = @NO; }");
}
TEST(ObjCNSNumberLiteralsRuleTest, NumberWithBoxedInt)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "void m() { NSNumber *fortyTwo = [NSNumber numberWithInt:(43 - 1)]; }");
}
TEST(ObjCNSNumberLiteralsRuleTest, NumberWithBoolNo_oldBOOLDef)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix + oldBOOLDef +
        "void m() { NSNumber *fortyTwoBOOL = [NSNumber numberWithBool:NO]; }",
        0, 20, 37, 20, 64);
}
TEST(ObjCNSNumberLiteralsRuleTest, NumberWithBoxedUnsignedIntButInterger)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "void m() { NSNumber *fortyTwoUnsigned = [NSNumber numberWithUnsignedInt:42]; }");
}
TEST(ObjCNSNumberLiteralsRuleTest, NumberWithBoxedBOOLNo_oldBOOLDef)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix + oldBOOLDef +
        "void m() { NSNumber *fortyTwoBOOL = [NSNumber numberWithBool:(!NO)]; }");
}
TEST(ReturnFromFinallyBlockRuleTest, ReturnFromFinallyBlock)
{
    testRuleOnObjCCode(new ReturnFromFinallyBlockRule(), "void m() { @try {;} @catch(id ex) {;} @finally { int i; return; int j; } }",
        0, 1, 57, 1, 57);
}
TEST(ObjCNSNumberLiteralsRuleTest, CharacterLiteral)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "void m() { NSNumber *theLetterZ = @'Z'; }");
}
TEST(ObjcVerifySubclassMustImplementRuleTest, AnnotationDoesNotImplementation)
{
    testRuleOnObjCCode(new ObjCVerifySubclassMustImplementRule(),
        testAnnotationDoesNotImplement, 0, 12, 1, 14, 1,
            "subclasses of Parent must implement someAbstractMethod");
}
TEST(ObjCNSNumberLiteralsRuleTest, NumberWithChar)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "void m() { NSNumber *theLetterZ = [NSNumber numberWithChar:'Z']; }",
        0, 17, 35, 17, 63);
}
TEST(ObjcVerifySubclassMustImplementRuleTest, NormalDoesImplement)
{
    testRuleOnObjCCode(new ObjCVerifySubclassMustImplementRule(), testNormalDoesImplement);
}
TEST(ObjCNSNumberLiteralsRuleTest, NumberWithCharButInteger)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "void m() { NSNumber *theLetterZ = [NSNumber numberWithChar:15]; }");
}
Esempio n. 27
0
TEST_F(NPathComplexityRuleTest, ObjCForeachStmtWithCompoundStmtWithIfStmt)
{
    testRuleOnObjCCode(new NPathComplexityRule(), "void mthd() { id anArray; for (id it in anArray) { if (1) {} } }",
        0, 1, 1, 1, 64, "NPath Complexity Number 4 exceeds limit of 1");
}
TEST(ObjCNSNumberLiteralsRuleTest, NumberWithBoxedChar)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "char getZ() { return 'Z'; } void m() { NSNumber *theLetterZ = [NSNumber numberWithChar:(getZ())]; }");
}
Esempio n. 29
0
TEST(EmptyTryStatementRuleTest, EmptyObjCTryWithEmptyCompoundStmt)
{
    testRuleOnObjCCode(new EmptyTryStatementRule(), "void m() { @try {} @catch(id ex) { ; } }",
        0, 1, 17, 1, 18);
}
TEST(ObjCNSNumberLiteralsRuleTest, LongLongLiteral)
{
    testRuleOnObjCCode(new ObjCNSNumberLiteralsRule(), objcNSNumberPrefix +
        "void m() { NSNumber *fortyTwoLongLong = @42LL; }");
}