def distance(): args = request.args.to_dict() # x1 if ("x1" not in args): return "Expected parameter 'x1'.", status.HTTP_400_BAD_REQUEST x1 = args["x1"] if not (x1.replace(".", "", 1)).isnumeric(): return "Parameter 'x1' must be a float.", status.HTTP_400_BAD_REQUEST # y1 if ("y1" not in args): return "Expected parameter 'y1'.", status.HTTP_400_BAD_REQUEST y1 = args["y1"] if not (y1.replace(".", "", 1)).isnumeric(): return "Parameter 'y1' must be a float.", status.HTTP_400_BAD_REQUEST # x2 if ("x2" not in args): return "Expected parameter 'x2'.", status.HTTP_400_BAD_REQUEST x2 = args["x2"] if not (x2.replace(".", "", 1)).isnumeric(): return "Parameter 'x2' must be a float.", status.HTTP_400_BAD_REQUEST # y2 if ("y2" not in args): return "Expected parameter 'y2'.", status.HTTP_400_BAD_REQUEST y2 = args["y2"] if not (y2.replace(".", "", 1)).isnumeric(): return "Parameter 'y2' must be a float.", status.HTTP_400_BAD_REQUEST x1 = float(x1) y1 = float(y1) x2 = float(x2) y2 = float(y2) distance = distance_calc.calculateDistance(x1, y1, x2, y2) return (jsonify({'distance': distance}))
def distance(): """Return the shortest distance between two points""" distance_sentinel = 0 semantics_dictionary = {0: "x1", 1: "y1", 2: "x2", 3: "y2"} coordinate_array = [] good_input = True while (distance_sentinel <= 3): good_input = True print("Coordinate values (x1, y1) (x2, y2)") distance_user_input = input("Please input value for data point " + semantics_dictionary[distance_sentinel] + ": ") # Error-handling for invalid inputs, increment only when input can be a float try: distance_user_input = float(distance_user_input) except: good_input = False if good_input == False: print("Invalid value, please try again") else: distance_user_input = float(distance_user_input) distance_sentinel += 1 coordinate_array.append(distance_user_input) distance = distance_calc.calculateDistance(coordinate_array[0], coordinate_array[1], coordinate_array[2], coordinate_array[3]) #Tell the user the results of the calculation if distance == False and distance != 0: print("One or more of the coordinates provided is invalid.") else: print("The distance between the two coordinates is: " + "{0:.3f}".format(distance) + " units.") print()
def test_input_base(self): self.assertEqual(distance_calc.calculateDistance(0, 0, 0, 0), 0)
def test_input_tuple(self): # Tuple test self.assertFalse(distance_calc.calculateDistance((8, 7), 0, 0, 0))
def test_input_boole(self): # Boole test self.assertFalse(distance_calc.calculateDistance(True, 0, 0, 0))
def test_input_dictionary(self): # Dictionary test self.assertFalse(distance_calc.calculateDistance(0, 0, {6, 5}, 0))
def test_input_complex(self): # Complex test self.assertFalse(distance_calc.calculateDistance(0, 0, 0, 3 + 1j))
def test_input_string(self): # String test self.assertFalse(distance_calc.calculateDistance("1", 0, 0, 0))
def test_input_array(self): # Array test self.assertFalse(distance_calc.calculateDistance(0, [2], 0, 0))
def test_input_accuracy_variables(self): a = .8 b = .6 c = .3 d = 8 self.assertEqual(distance_calc.calculateDistance(a, b, c, d), 7.417)
def test_input_accuracy_negatives(self): self.assertEqual(distance_calc.calculateDistance(.8, -.6, .3, 8), 8.615)
def test_input_accuracy_floats(self): self.assertEqual(distance_calc.calculateDistance(.8, .6, .3, 8), 7.417)
def test_input_accuracy_difference(self): self.assertEqual(distance_calc.calculateDistance(0, 0, 0, 1), 1)
def test_input_accuracy_equivalent(self): self.assertEqual(distance_calc.calculateDistance(1, 1, 1, 1), 0)