mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-06 17:29:31 +08:00
Fix AbsoluteMin bug for equal absolute values (#6145)
* fix-absolute-max-bug * clang-format for added junit * fix-absolute-min-bug
This commit is contained in:
@ -19,7 +19,7 @@ public final class AbsoluteMin {
|
|||||||
|
|
||||||
var absMinWrapper = new Object() { int value = numbers[0]; };
|
var absMinWrapper = new Object() { int value = numbers[0]; };
|
||||||
|
|
||||||
Arrays.stream(numbers).skip(1).filter(number -> Math.abs(number) < Math.abs(absMinWrapper.value)).forEach(number -> absMinWrapper.value = number);
|
Arrays.stream(numbers).skip(1).filter(number -> Math.abs(number) <= Math.abs(absMinWrapper.value)).forEach(number -> absMinWrapper.value = Math.min(absMinWrapper.value, number));
|
||||||
|
|
||||||
return absMinWrapper.value;
|
return absMinWrapper.value;
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,13 @@ public class AbsoluteMinTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testGetMinValueWithNoArguments() {
|
void testGetMinValueWithNoArguments() {
|
||||||
Exception exception = assertThrows(IllegalArgumentException.class, () -> AbsoluteMin.getMinValue());
|
Exception exception = assertThrows(IllegalArgumentException.class, AbsoluteMin::getMinValue);
|
||||||
assertEquals("Numbers array cannot be empty", exception.getMessage());
|
assertEquals("Numbers array cannot be empty", exception.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetMinValueWithSameAbsoluteValues() {
|
||||||
|
assertEquals(-5, AbsoluteMin.getMinValue(-5, 5));
|
||||||
|
assertEquals(-5, AbsoluteMin.getMinValue(5, -5));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user