TEST(RandoTest, oneChildeSmiles) { Rando rando; ASSERT_TRUE( rando.shouldWorry(false,false,true) ); ASSERT_TRUE( rando.shouldWorry(false,true,false) ); ASSERT_TRUE( rando.shouldWorry(true,false,false) ); }
TEST(RandoTest, nearestToZero) { Rando rando; ASSERT_EQ(0, rando.nearestToZero(0,0)); ASSERT_EQ(0, rando.nearestToZero(1,0)); ASSERT_EQ(0, rando.nearestToZero(0,1)); ASSERT_EQ(1, rando.nearestToZero(2,1)); ASSERT_EQ(1, rando.nearestToZero(1,2)); }
TEST(RandoTest, devideByZero) { Rando rando; bool exceptionThrown = false; try { ASSERT_TRUE( rando.isDivisbleBy(0,8) ); ASSERT_TRUE( rando.isDivisbleBy(2,0) ); ASSERT_TRUE( rando.isDivisbleBy(0,0) ); }catch(int ex) { if(ex == -1) { exceptionThrown = true; } } ASSERT_TRUE(exceptionThrown); }
TEST(RandoTest, isDivisbleBy) { Rando rando; ASSERT_TRUE( rando.isDivisbleBy(12,1) ); ASSERT_FALSE( rando.isDivisbleBy(11,2) ); ASSERT_FALSE( rando.isDivisbleBy(10,3) ); ASSERT_FALSE( rando.isDivisbleBy(9,4) ); ASSERT_FALSE( rando.isDivisbleBy(8,5) ); ASSERT_FALSE( rando.isDivisbleBy(7,6) ); ASSERT_FALSE( rando.isDivisbleBy(6,7) ); ASSERT_FALSE( rando.isDivisbleBy(5,8) ); ASSERT_FALSE( rando.isDivisbleBy(4,9) ); ASSERT_FALSE( rando.isDivisbleBy(3,10) ); ASSERT_FALSE( rando.isDivisbleBy(2,11) ); ASSERT_TRUE( rando.isDivisbleBy(1,12) ); ASSERT_TRUE( rando.isDivisbleBy(8,8) ); ASSERT_TRUE( rando.isDivisbleBy(8,2) ); ASSERT_TRUE( rando.isDivisbleBy(2,8) ); }
TEST(RandoTest, isNotPrime) { Rando rando; ASSERT_FALSE( rando.isPrime(0) ); ASSERT_FALSE( rando.isPrime(1) ); ASSERT_FALSE( rando.isPrime(4) ); ASSERT_FALSE( rando.isPrime(6) ); ASSERT_FALSE( rando.isPrime(8) ); ASSERT_FALSE( rando.isPrime(9) ); ASSERT_FALSE( rando.isPrime(21) ); ASSERT_FALSE( rando.isPrime(12) ); ASSERT_FALSE( rando.isPrime(-30) ); ASSERT_FALSE( rando.isPrime(-1000) ); ASSERT_FALSE( rando.isPrime(1000) ); ASSERT_FALSE( rando.isPrime(14) ); }
TEST(RandoTest, isPrime) { Rando rando; for( int n = 100; n >= -1; n--) { switch( n ) { default: // negative or composite numbers are default. ASSERT_FALSE( rando.isPrime( n ) ); break; // cases are all prime numbers between 2 and 100. case 2: // Fallthroughts... case 3: case 5: case 7: case 11: case 13: case 17: case 19: case 23: case 29: case 31: case 37: case 41: case 43: case 47: case 53: case 59: case 61: case 67: case 71: case 73: case 79: case 83: case 89: case 97: // x == true used for clarity in gtest output. ASSERT_TRUE( rando.isPrime( n ) ); } } }
TEST(RandoTest, nearestToZero) { Rando rando; ASSERT_TRUE( 1 == rando.nearestToZero(5,1) ); ASSERT_TRUE( 1 == rando.nearestToZero(1,1) ); ASSERT_TRUE( 1 == rando.nearestToZero(1,5) ); ASSERT_TRUE( 1 == rando.nearestToZero(-5,1) ); ASSERT_TRUE( 1 == rando.nearestToZero(5,-1) ); ASSERT_TRUE( 1 == rando.nearestToZero(-1,5) ); ASSERT_TRUE( 1 == rando.nearestToZero(-5,-1) ); ASSERT_TRUE( 1 == rando.nearestToZero(1,-1) ); }
TEST(RandoTest, atZero) { Rando rando; ASSERT_TRUE( 0 == rando.nearestToZero(0,0) ); ASSERT_TRUE( 1 == rando.nearestToZero(0,1) ); ASSERT_TRUE( 5 == rando.nearestToZero(0,5) ); ASSERT_TRUE( -5 == rando.nearestToZero(-5,0) ); ASSERT_TRUE( -1 == rando.nearestToZero(0,-1) ); ASSERT_TRUE( -1 == rando.nearestToZero(-1,0) ); ASSERT_TRUE( -1 == rando.nearestToZero(0*0,-1) ); ASSERT_TRUE( 0 == rando.nearestToZero(1-1,5-5) ); }
TEST(RandoTest, isDivisibleBy) { Rando rando; ASSERT_FALSE( rando.isDivisibleBy( 0, 0 ) ); for( int a = -3; a < 4; a++ ) { if ( a == 0 ) // Skip zero, already checked. { a++; } ASSERT_TRUE( rando.isDivisibleBy( 0, a ) ); ASSERT_FALSE( rando.isDivisibleBy( a, 0 ) ); } for( int a = 1; a < 5; a++ ) { ASSERT_TRUE( rando.isDivisibleBy( 5 * a, 5 ) ); } for( int a = 3; a < 8; a++ ) { ASSERT_FALSE( rando.isDivisibleBy( 2, a ) ); } }
TEST(RandoTest, isPrime) { Rando rando; ASSERT_TRUE( rando.isPrime(2) ); ASSERT_TRUE( rando.isPrime(3) ); ASSERT_TRUE( rando.isPrime(5) ); ASSERT_TRUE( rando.isPrime(7) ); ASSERT_TRUE( rando.isPrime(11) ); ASSERT_TRUE( rando.isPrime(13) ); ASSERT_TRUE( rando.isPrime(17) ); ASSERT_TRUE( rando.isPrime(19) ); ASSERT_TRUE( rando.isPrime(23) ); }
TEST(RandoTest, smallNotPrime) { Rando rando; ASSERT_FALSE(rando.isPrime(12)); }
TEST(RandoTest, largeNotPrime) { Rando rando; ASSERT_FALSE(rando.isPrime(982451652)); }
TEST(RandoTest, aOverB) { Rando rando; ASSERT_EQ(5,rando.nearestToZero(5,3)); }
TEST(RandoTest, bOverA) { Rando rando; ASSERT_EQ(5,rando.nearestToZero(3,5)); }
TEST(RandoTest, aEqualsB) { Rando rando; ASSERT_EQ(5,rando.nearestToZero(5,5)); }
TEST(RandoTest, divisibility3) { Rando rando; ASSERT_FALSE( rando.isDivisbleBy(3, 10) ); }
TEST(RandoTest, IsPrime_NonPimeNum) { Rando rando; ASSERT_FALSE(rando.isPrime(5)); }
TEST(RandoTest, allChildrenSmile) { Rando rando; ASSERT_TRUE( rando.shouldWorry(true,true,true) ); }
TEST(RandoTest, bIsZero) { Rando rando; ASSERT_EQ(5,rando.nearestToZero(5,0)); }
TEST(RandoTest, largerPositive) { Rando rando; ASSERT_EQ(5,rando.nearestToZero(5,-3)); }
TEST(RandoTest, largerNegative) { Rando rando; ASSERT_EQ(5,rando.nearestToZero(-5,3)); }
TEST(RandoTest, divisibility) { Rando rando; ASSERT_TRUE( rando.isDivisbleBy(50,25) ); }
TEST(RandoTest, divisibility2) { Rando rando; ASSERT_TRUE( rando.isDivisbleBy(25, 50) ); }
TEST(RandoTest, largePrimeNumber) { Rando rando; ASSERT_TRUE(rando.isPrime(982451653)); }
TEST(RandoTest, divisibility5) { Rando rando; ASSERT_TRUE( rando.isDivisbleBy(1, 1) ); }
TEST(RandoTest, aIsZero) { Rando rando; ASSERT_EQ(3,rando.nearestToZero(0,3)); }
TEST(RandoTest, IsPrime_PimeNum) { Rando rando; ASSERT_TRUE(rando.isPrime(4)); }
TEST(RandoTest, nearestToZero) { Rando rando; for( int a = 2; a < 5; a++ ) { ASSERT_TRUE( rando.nearestToZero( a, 1 ) == 1 ); } for( int a = 2; a < 5; a++ ) { ASSERT_TRUE( rando.nearestToZero( a, -1 ) == -1 ); } for( int a = 1; a < 5; a++ ) { ASSERT_TRUE( rando.nearestToZero( a, 30 ) == a ); } for( int a = 1; a < 5; a++ ) { ASSERT_TRUE( rando.nearestToZero( a, -30 ) == a ); } for( int a = 2; a < 5; a++ ) { ASSERT_TRUE( rando.nearestToZero( 1, a ) == 1 ); } for( int a = 2; a < 5; a++ ) { ASSERT_TRUE( rando.nearestToZero( -1, a ) == -1 ); } for( int a = 2; a < 5; a++ ) { ASSERT_TRUE( rando.nearestToZero( 30, a ) == a ); } for( int a = 1; a < 5; a++ ) { ASSERT_TRUE( rando.nearestToZero( -30, a ) == a ); } for( int a = 1, b = -1; a > -5; a--, b++ ) { ASSERT_TRUE( rando.nearestToZero( a, b ) == a ); ASSERT_TRUE( rando.nearestToZero( b, a ) == b ); } ASSERT_TRUE( rando.nearestToZero( 0, 0 ) == 0 ); for( int a = 1; a < 5; a++ ) { ASSERT_TRUE( rando.nearestToZero( 0, a ) != 0 ); ASSERT_TRUE( rando.nearestToZero( a, 0 ) != 0 ); } }
TEST(RandoTest, IsPrime_Zero) { Rando rando; ASSERT_FALSE(rando.isPrime(0)); }
TEST(RandoTest, smallPrimeNumber) { Rando rando; ASSERT_TRUE(rando.isPrime(7)); }