mirror of
https://bitbucket.org/Mattrixwv/pyclasses.git
synced 2025-12-06 18:33:58 -05:00
Added function to test if a number is prime
This commit is contained in:
@@ -97,6 +97,17 @@ def getNumPrimes(numberOfPrimes: int) -> list:
|
|||||||
#Return the list with all the prime numbers
|
#Return the list with all the prime numbers
|
||||||
return primes
|
return primes
|
||||||
|
|
||||||
|
#This function determines whether a number is prime
|
||||||
|
def isPrime(possiblePrime: int) -> bool:
|
||||||
|
if(possiblePrime <= 3):
|
||||||
|
return possiblePrime > 1
|
||||||
|
elif(((possiblePrime % 2) == 0) or ((possiblePrime % 3) == 0)):
|
||||||
|
return False
|
||||||
|
for cnt in range(5, int(math.sqrt(possiblePrime)) + 1, 6):
|
||||||
|
if(((possiblePrime % cnt) == 0) or ((possiblePrime % (cnt + 2)) == 0)):
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
#This is a function that returns all the factors of goalNumber
|
#This is a function that returns all the factors of goalNumber
|
||||||
def getFactors(goalNumber: int) -> list:
|
def getFactors(goalNumber: int) -> list:
|
||||||
prime_factors_list = []
|
prime_factors_list = []
|
||||||
|
|||||||
@@ -42,6 +42,29 @@ class TestAlgorithms(unittest.TestCase):
|
|||||||
answer = Algorithms.getNumPrimes(numPrimes) #Get the answer from the function
|
answer = Algorithms.getNumPrimes(numPrimes) #Get the answer from the function
|
||||||
self.assertEqual(correctAnswer, answer, "getNumPrimes failed the first test")
|
self.assertEqual(correctAnswer, answer, "getNumPrimes failed the first test")
|
||||||
|
|
||||||
|
#This function tests the isPrime function
|
||||||
|
def testIsPrime(self):
|
||||||
|
#Test 1
|
||||||
|
num = 2
|
||||||
|
correctAnswer = True
|
||||||
|
answer = Algorithms.isPrime(num)
|
||||||
|
self.assertEqual(correctAnswer, answer, "isPrime failed the first test")
|
||||||
|
#Test 2
|
||||||
|
num = 97
|
||||||
|
correctAnswer = True
|
||||||
|
answer = Algorithms.isPrime(num)
|
||||||
|
self.assertEqual(correctAnswer, answer, "isPrime failed the second test")
|
||||||
|
#Test 3
|
||||||
|
num = 1000
|
||||||
|
correctAnswer = False
|
||||||
|
answer = Algorithms.isPrime(num)
|
||||||
|
self.assertEqual(correctAnswer, answer, "isPrime failed the third test")
|
||||||
|
#Test 4
|
||||||
|
num = 1
|
||||||
|
correctAnswer = False
|
||||||
|
answer = Algorithms.isPrime(num)
|
||||||
|
self.assertEqual(correctAnswer, answer, "isPrime failed the fourth test")
|
||||||
|
|
||||||
#This function tests the getFactors function
|
#This function tests the getFactors function
|
||||||
def testGetFactors(self):
|
def testGetFactors(self):
|
||||||
#Test 1
|
#Test 1
|
||||||
@@ -203,9 +226,9 @@ if __name__ == "__main__":
|
|||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
||||||
"""Results:
|
"""Results:
|
||||||
............
|
.............
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
Ran 12 tests in 0.002s
|
Ran 13 tests in 0.002s
|
||||||
|
|
||||||
OK
|
OK
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user