summaryrefslogtreecommitdiff
path: root/AlgoDesignAndTechniqueEdxPython/tests/gcdlcmTest.py
diff options
context:
space:
mode:
authorHaidong Ji2018-08-19 16:50:35 -0500
committerHaidong Ji2018-08-19 16:50:35 -0500
commit79cc9a835416965720e923fac4a8c53c22108e73 (patch)
tree7979fc69d6cc02882367d1393a178173868cfbe9 /AlgoDesignAndTechniqueEdxPython/tests/gcdlcmTest.py
parentb7a6d9d18945e81ba9c23cf90b41328e20ba1341 (diff)
Great LCM exercise. Done!
2 things are really interesting: 1. How to find the right test cases. I think I'll probably need to go back and re-read how to do an exhautisive testing 2. Python 3's floor division versus true division (// and /) operators are interesting. This exercise discussion helped me: https://courses.edx.org/courses/course-v1:UCSanDiegoX+ALGS200x+2T2017/discussion/forum/course/threads/5a3d32d644a15008df00062e and this one: https://stackoverflow.com/questions/19507808/python3-integer-division and this one: https://www.python.org/dev/peps/pep-0238/
Diffstat (limited to 'AlgoDesignAndTechniqueEdxPython/tests/gcdlcmTest.py')
-rw-r--r--AlgoDesignAndTechniqueEdxPython/tests/gcdlcmTest.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/AlgoDesignAndTechniqueEdxPython/tests/gcdlcmTest.py b/AlgoDesignAndTechniqueEdxPython/tests/gcdlcmTest.py
new file mode 100644
index 0000000..82a7295
--- /dev/null
+++ b/AlgoDesignAndTechniqueEdxPython/tests/gcdlcmTest.py
@@ -0,0 +1,29 @@
+'''
+Created on Aug 19, 2018
+
+@author: haidong
+'''
+import unittest
+
+from sources.gcdlcm import getGCD, getLCM
+
+class Test(unittest.TestCase):
+
+
+ def testName(self):
+ self.assertEqual(1, getGCD(18, 35))
+ self.assertEqual(17657, getGCD(28851538, 1183019))
+ self.assertEqual(7, getGCD(1344, 217))
+ self.assertEqual(1344, getGCD(1344, 1344))
+ self.assertEqual(4, getGCD(14159572, 63967072))
+ self.assertEqual(4, getGCD(63967072,14159572))
+
+ def testLCM(self):
+ self.assertEqual(24, getLCM(6, 8))
+ self.assertEqual(1933053046, getLCM(28851538, 1183019))
+ self.assertEqual(226436590403296, getLCM(14159572, 63967072))
+ self.assertEqual(46374212988031350, getLCM(226553150, 1023473145))
+
+if __name__ == "__main__":
+ #import sys;sys.argv = ['', 'Test.testName']
+ unittest.main() \ No newline at end of file