''' 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()