def testCirclesIntersect(): print('Testing circlesIntersect()... ', end='') assertEqual(circlesIntersect(0, 0, 2, 3, 0, 2), True) assertEqual(circlesIntersect(0, 0, 2, 4, 0, 2), True) assertEqual(circlesIntersect(0, 0, 2, 5, 0, 2), False) assertEqual(circlesIntersect(3, 3, 3, 3, -3, 3), True) assertEqual(circlesIntersect(3, 3, 3, 3, -3, 2.99), False) print('Passed.')
def testFindIntRootsOfCubicCase(k, z1, z2, z3): a, b, c, d = getCubicCoeffs(k, z1, z2, z3) observed = bonusFindIntRootsOfCubic(a, b, c, d) m1 = min(z1, z2, z3) m3 = max(z1, z2, z3) m2 = (z1 + z2 + z3) - (m1 + m3) actual = (m1, m2, m3) assertEqual(observed, actual)
def testNumberOfPoolBalls(): print('Testing numberOfPoolBalls()... ', end='') assertEqual(numberOfPoolBalls(0), 0) assertEqual(numberOfPoolBalls(1), 1) assertEqual(numberOfPoolBalls(2), 3) # 1+2 == 3 assertEqual(numberOfPoolBalls(3), 6) # 1+2+3 == 6 assertEqual(numberOfPoolBalls(10), 55) # 1+2+...+10 == 55 print('Passed.')
def testLineIntersection(): print('Testing lineIntersection()... ', end='') assertEqual(lineIntersection(2.5, 3, 2.5, 11), None) assertEqual(lineIntersection(25, 3, 25, 11), None) # y=3x-5 and y=x+5 intersect at (5,10) assertAlmostEqual(lineIntersection(3, -5, 1, 5), 5) # y=10x and y=-4x+35 intersect at (2.5,25) assertAlmostEqual(lineIntersection(10, 0, -4, 35), 2.5) assertAlmostEqual(lineIntersection(10, 0, -4, 15), 1.0714285714285714) print('Passed.')
def testIsLegalTriangle(): print('Testing isLegalTriangle()... ', end='') assertEqual(isLegalTriangle(3, 4, 5), True) assertEqual(isLegalTriangle(5, 4, 3), True) assertEqual(isLegalTriangle(3, 5, 4), True) assertEqual(isLegalTriangle(0.3, 0.4, 0.5), True) assertEqual(isLegalTriangle(3, 4, 7), False) assertEqual(isLegalTriangle(7, 4, 3), False) assertEqual(isLegalTriangle(3, 7, 4), False) assertEqual(isLegalTriangle(5, -3, 1), False) assertEqual(isLegalTriangle(-3, -4, -5), False) print('Passed.')
def testIsMultiple(): print('Testing isMultiple()... ', end='') assertEqual(isMultiple(1, 1), True) assertEqual(isMultiple(2, 10), False) assertEqual(isMultiple(-5, 25), False) assertEqual(isMultiple(5, 0), False) assertEqual(isMultiple(0, 0), True) assertEqual(isMultiple(2, 11), False) assertEqual(isMultiple(10, 2), True) assertEqual(isMultiple(0, 5), True) assertEqual(isMultiple(25, -5), True) print('Passed.')
def testIsFactor(): print('Testing isFactor()... ', end='') assertEqual(isFactor(1, 1), True) assertEqual(isFactor(2, 10), True) assertEqual(isFactor(-5, 25), True) assertEqual(isFactor(5, 0), True) assertEqual(isFactor(0, 0), True) assertEqual(isFactor(2, 11), False) assertEqual(isFactor(10, 2), False) assertEqual(isFactor(0, 5), False) print('Passed.')
def testSetKthDigit(): print('Testing setKthDigit()... ', end='') assertEqual(setKthDigit(809, 0, 7), 807) assertEqual(setKthDigit(809, 1, 7), 879) assertEqual(setKthDigit(809, 2, 7), 709) assertEqual(setKthDigit(809, 3, 7), 7809) assertEqual(setKthDigit(0, 4, 7), 70000) assertEqual(setKthDigit(-809, 0, 7), -807) print('Passed.')
def testNearestBusStop(): print('Testing nearestBusStop()... ', end='') assertEqual(nearestBusStop(0), 0) assertEqual(nearestBusStop(4), 0) assertEqual(nearestBusStop(5), 8) assertEqual(nearestBusStop(12), 8) assertEqual(nearestBusStop(13), 16) assertEqual(nearestBusStop(20), 16) assertEqual(nearestBusStop(21), 24) print('Passed.')
def testNearestOdd(): print('Testing nearestOdd()... ', end='') assertEqual(nearestOdd(13), 13) assertEqual(nearestOdd(12.001), 13) assertEqual(nearestOdd(12), 11) assertEqual(nearestOdd(11.999), 11) assertEqual(nearestOdd(-13), -13) assertEqual(nearestOdd(-12.001), -13) assertEqual(nearestOdd(-12), -13) assertEqual(nearestOdd(-11.999), -11) print('Passed.')
def testColorBlender(): print('Testing colorBlender()... ', end='') # http://meyerweb.com/eric/tools/color-blend/#DC143C:BDFCC9:3:rgbd assertEqual(colorBlender(220020060, 189252201, 3, -1), None) assertEqual(colorBlender(220020060, 189252201, 3, 0), 220020060) assertEqual(colorBlender(220020060, 189252201, 3, 1), 212078095) assertEqual(colorBlender(220020060, 189252201, 3, 2), 205136131) assertEqual(colorBlender(220020060, 189252201, 3, 3), 197194166) assertEqual(colorBlender(220020060, 189252201, 3, 4), 189252201) assertEqual(colorBlender(220020060, 189252201, 3, 5), None) # http://meyerweb.com/eric/tools/color-blend/#0100FF:FF0280:2:rgbd assertEqual(colorBlender(1000255, 255002128, 2, -1), None) assertEqual(colorBlender(1000255, 255002128, 2, 0), 1000255) assertEqual(colorBlender(1000255, 255002128, 2, 1), 86001213) assertEqual(colorBlender(1000255, 255002128, 2, 2), 170001170) assertEqual(colorBlender(1000255, 255002128, 2, 3), 255002128) print('Passed.')
def testIsRightTriangle(): print('Testing isRightTriangle()... ', end='') assertEqual(isRightTriangle(0, 0, 0, 3, 4, 0), True) assertEqual(isRightTriangle(1, 1.3, 1.4, 1, 1, 1), True) assertEqual(isRightTriangle(9, 9.12, 8.95, 9, 9, 9), True) assertEqual(isRightTriangle(0, 0, 0, math.pi, math.e, 0), True) assertEqual(isRightTriangle(0, 0, 1, 1, 2, 0), True) assertEqual(isRightTriangle(0, 0, 1, 2, 2, 0), False) assertEqual(isRightTriangle(1, 0, 0, 3, 4, 0), False) print('Passed.')
def testFabricExcess(): print('Testing fabricExcess()... ', end='') assertEqual(fabricExcess(0), 0) assertEqual(fabricExcess(1), 35) assertEqual(fabricExcess(35), 1) assertEqual(fabricExcess(36), 0) assertEqual(fabricExcess(37), 35) assertEqual(fabricExcess(72), 0) assertEqual(fabricExcess(73), 35) assertEqual(fabricExcess(108), 0) assertEqual(fabricExcess(109), 35) print('Passed.')
def testEggCartons(): print('Testing eggCartons()... ', end='') assertEqual(eggCartons(0), 0) assertEqual(eggCartons(1), 1) assertEqual(eggCartons(12), 1) assertEqual(eggCartons(13), 2) assertEqual(eggCartons(24), 2) assertEqual(eggCartons(25), 3) print('Passed.')
def testGetInRange(): print('Testing getInRange()... ', end='') assertEqual(getInRange(5, 1, 10), 5) assertEqual(getInRange(5, 5, 10), 5) assertEqual(getInRange(5, 9, 10), 9) assertEqual(getInRange(5, 10, 10), 10) assertEqual(getInRange(5, 10, 1), 5) assertEqual(getInRange(5, 10, 5), 5) assertEqual(getInRange(5, 10, 9), 9) assertEqual(getInRange(0, -20, -30), -20) assertAlmostEqual(getInRange(0, -20.25, -30.33), -20.25) print('Passed.')
def testNthFibonacciNumber(): print('Testing nthFibonacciNumber()... ', end='') assertEqual(nthFibonacciNumber(0), 1) assertEqual(nthFibonacciNumber(1), 1) assertEqual(nthFibonacciNumber(2), 2) assertEqual(nthFibonacciNumber(3), 3) assertEqual(nthFibonacciNumber(4), 5) assertEqual(nthFibonacciNumber(5), 8) assertEqual(nthFibonacciNumber(6), 13) print('Passed.')
def testIsEvenPositiveInt(): print('Testing isEvenPositiveInt()... ', end='') assertEqual(isEvenPositiveInt(809), False) assertEqual(isEvenPositiveInt(810), True) assertEqual(isEvenPositiveInt(2389238001), False) assertEqual(isEvenPositiveInt(2389238000), True) assertEqual(isEvenPositiveInt(-2389238000), False) assertEqual(isEvenPositiveInt(0), False) assertEqual(isEvenPositiveInt('do not crash here!'), False) print('Passed.')
def testRectanglesOverlap(): print('Testing rectanglesOverlap()...', end='') assertEqual(rectanglesOverlap(1, 1, 2, 2, 2, 2, 2, 2), True) assertEqual(rectanglesOverlap(1, 1, 2, 2, -2, -2, 6, 6), True) assertEqual(rectanglesOverlap(1, 1, 2, 2, 3, 3, 1, 1), True) assertEqual(rectanglesOverlap(1, 1, 2, 2, 3.1, 3, 1, 1), False) assertEqual(rectanglesOverlap(1, 1, 1, 1, 1.9, -1, 0.2, 1.9), False) assertEqual(rectanglesOverlap(1, 1, 1, 1, 1.9, -1, 0.2, 2), True) assertEqual(rectanglesOverlap(1, 1, 2, 2, 2, 2, 2, 6), True) assertEqual(rectanglesOverlap(1, 1, 2, 2, 3,4,5,6), False) print('Passed.')
def testIsPerfectSquare(): print('Testing isPerfectSquare()... ', end='') assertEqual(isPerfectSquare(0), True) assertEqual(isPerfectSquare(1), True) assertEqual(isPerfectSquare(16), True) assertEqual(isPerfectSquare(1234**2), True) assertEqual(isPerfectSquare(15), False) assertEqual(isPerfectSquare(17), False) assertEqual(isPerfectSquare(-16), False) assertEqual(isPerfectSquare(1234**2+1), False) assertEqual(isPerfectSquare(1234**2-1), False) assertEqual(isPerfectSquare(4.0000001), False) assertEqual(isPerfectSquare('Do not crash here!'), False) print('Passed.')
def testGetKthDigit(): print('Testing getKthDigit()... ', end='') assertEqual(getKthDigit(809, 0), 9) assertEqual(getKthDigit(809, 1), 0) assertEqual(getKthDigit(809, 2), 8) assertEqual(getKthDigit(809, 3), 0) assertEqual(getKthDigit(0, 100), 0) assertEqual(getKthDigit(-809, 0), 9) print('Passed.')
def testNumberOfPoolBallRows(): print('Testing numberOfPoolBallRows()... ', end='') assertEqual(numberOfPoolBallRows(0), 0) assertEqual(numberOfPoolBallRows(1), 1) assertEqual(numberOfPoolBallRows(2), 2) assertEqual(numberOfPoolBallRows(3), 2) assertEqual(numberOfPoolBallRows(4), 3) assertEqual(numberOfPoolBallRows(6), 3) assertEqual(numberOfPoolBallRows(7), 4) assertEqual(numberOfPoolBallRows(10), 4) assertEqual(numberOfPoolBallRows(11), 5) assertEqual(numberOfPoolBallRows(55), 10) assertEqual(numberOfPoolBallRows(56), 11) print('Passed.')
def testPascalsTriangleValue(): print('Testing pascalsTriangleValue()... ', end='') assertEqual(pascalsTriangleValue(3, 0), 1) assertEqual(pascalsTriangleValue(3, 1), 3) assertEqual(pascalsTriangleValue(3, 2), 3) assertEqual(pascalsTriangleValue(3, 3), 1) assertEqual(pascalsTriangleValue(1234, 0), 1) assertEqual(pascalsTriangleValue(1234, 1), 1234) assertEqual(pascalsTriangleValue(1234, 2), 760761) assertEqual(pascalsTriangleValue(3, -1), None) assertEqual(pascalsTriangleValue(3, 4), None) assertEqual(pascalsTriangleValue(-3, 2), None) print('Passed.')