From 1c59f127e1005111a516e5a28cbd35c4139e44cc Mon Sep 17 00:00:00 2001 From: Aman Mohamed Ali <69119173+spidervirus@users.noreply.github.com> Date: Wed, 11 Nov 2026 18:35:05 +0400 Subject: [PATCH] fix(maths): correct coordinate subtraction in DistanceFormula.euclideanDistance --- .../thealgorithms/maths/DistanceFormula.java | 2 +- .../maths/DistanceFormulaTest.java | 21 ++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/thealgorithms/maths/DistanceFormula.java b/src/main/java/com/thealgorithms/maths/DistanceFormula.java index f7e2c7629551..b6c09c2cdb82 100644 --- a/src/main/java/com/thealgorithms/maths/DistanceFormula.java +++ b/src/main/java/com/thealgorithms/maths/DistanceFormula.java @@ -6,7 +6,7 @@ private DistanceFormula() { public static double euclideanDistance(double x1, double y1, double x2, double y2) { double dX = Math.pow(x2 - x1, 2); - double dY = Math.pow(y2 - x1, 2); + double dY = Math.pow(y2 - y1, 2); return Math.sqrt(dX + dY); } diff --git a/src/test/java/com/thealgorithms/maths/DistanceFormulaTest.java b/src/test/java/com/thealgorithms/maths/DistanceFormulaTest.java index 66f3b7b03938..d761326558a4 100644 --- a/src/test/java/com/thealgorithms/maths/DistanceFormulaTest.java +++ b/src/test/java/com/thealgorithms/maths/DistanceFormulaTest.java @@ -14,17 +14,32 @@ void euclideanTest1() { @Test void euclideanTest2() { - Assertions.assertEquals(7.0710678118654755, DistanceFormula.euclideanDistance(1, 3, 8, 0)); + Assertions.assertEquals(7.615773105863909, DistanceFormula.euclideanDistance(1, 3, 8, 0)); } @Test void euclideanTest3() { - Assertions.assertEquals(110.91911467371168, DistanceFormula.euclideanDistance(2.4, 9.1, 55.1, 100)); + Assertions.assertEquals(105.07188015829927, DistanceFormula.euclideanDistance(2.4, 9.1, 55.1, 100)); } @Test void euclideanTest4() { - Assertions.assertEquals(19022.067605809836, DistanceFormula.euclideanDistance(1000, 13, 20000, 84)); + Assertions.assertEquals(19000.13265743163, DistanceFormula.euclideanDistance(1000, 13, 20000, 84)); + } + + @Test + void euclideanTestZeroDistance() { + Assertions.assertEquals(0.0, DistanceFormula.euclideanDistance(0, 0, 0, 0)); + } + + @Test + void euclideanTestPythagoreanTriple() { + Assertions.assertEquals(5.0, DistanceFormula.euclideanDistance(0, 0, 3, 4)); + } + + @Test + void euclideanTestNegativeCoordinates() { + Assertions.assertEquals(5.0, DistanceFormula.euclideanDistance(-1, -2, 2, 2)); } @Test