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]; };
|
||||
|
||||
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;
|
||||
}
|
||||
|
@ -15,7 +15,13 @@ public class AbsoluteMinTest {
|
||||
|
||||
@Test
|
||||
void testGetMinValueWithNoArguments() {
|
||||
Exception exception = assertThrows(IllegalArgumentException.class, () -> AbsoluteMin.getMinValue());
|
||||
Exception exception = assertThrows(IllegalArgumentException.class, AbsoluteMin::getMinValue);
|
||||
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