diff options
Diffstat (limited to 'AlgoDesignAndTechniqueEdxPython/tests')
-rw-r--r-- | AlgoDesignAndTechniqueEdxPython/tests/closest_distanceTest.py | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/AlgoDesignAndTechniqueEdxPython/tests/closest_distanceTest.py b/AlgoDesignAndTechniqueEdxPython/tests/closest_distanceTest.py new file mode 100644 index 0000000..b3391a7 --- /dev/null +++ b/AlgoDesignAndTechniqueEdxPython/tests/closest_distanceTest.py @@ -0,0 +1,64 @@ +''' +Created on Dec 16, 2018 + +@author: haidong +''' +import unittest + +from sources.closest_distance import distance, minDistance + + +class Test(unittest.TestCase): + +# def testDistance(self): +# p1 = (0, 0) +# p2 = (1, 1) +# result = 1.414214 +# self.assertAlmostEqual(result, distance(p1, p2), places=6) + + def testSortPointsArray(self): + p = [(4, 4), (-2, -2), (-3, -4), (-1, 3), (2, 3), (-4, 0), (1, 1), (-1, -1), (3, -1), (-4, 2), (-2, 4)] + p.sort() + self.assertEqual(-4, p[0][0]) + self.assertEqual(0, p[0][1]) + + p.sort(key=lambda x: x[1]) + self.assertEqual(-4, p[0][1]) + self.assertEqual(-3, p[0][0]) + self.assertEqual(4, p[10][1]) + self.assertEqual(4, p[10][0]) + + def testMinDistance(self): + x = [0, 3] + y = [0, 4] + result = 5.0 + self.assertAlmostEqual(result, minDistance(x, y)) + + def testMinDistance1(self): + x = [0, 3, 5] + y = [0, 4, 6] + result = 2.828427 + self.assertAlmostEqual(result, minDistance(x, y), places=6) + + def testMinDistance2(self): + x = [7, 1, 4, 7] + y = [7, 100, 8, 7] + result = 0.0 + self.assertAlmostEqual(result, minDistance(x, y), places=6) + + def testMinDistance3(self): + x = [4, -2, -3, -1, 2, -4, 1, -1, 3, -4, -2] + y = [4, -2, -4, 3, 3, 0, 1, -1, -1, 2, 4] + result = 1.414214 + self.assertAlmostEqual(result, minDistance(x, y), places=6) + + def testMinDistance4(self): + x = [-2, -3, -1, 2, -4, 1, -1] + y = [-2, -4, 3, 3, 0, 1, -1] + result = 1.414214 + self.assertAlmostEqual(result, minDistance(x, y), places=6) + + +if __name__ == "__main__": + #import sys;sys.argv = ['', 'Test.testName'] + unittest.main() |