Code refactor for AbsoluteValue improvements (#3018)
Fix #3017 Co-authored-by: Yang Libin <szuyanglb@outlook.com>
This commit is contained in:
parent
64b624efb2
commit
5eed0849ef
@ -1,26 +1,14 @@
|
||||
package com.thealgorithms.maths;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class AbsoluteValue {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Random random = new Random();
|
||||
|
||||
/* test 1000 random numbers */
|
||||
for (int i = 1; i <= 1000; ++i) {
|
||||
int randomNumber = random.nextInt();
|
||||
assert absVal(randomNumber) == Math.abs(randomNumber);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* If value is less than zero, make value positive.
|
||||
* Returns the absolute value of a number.
|
||||
*
|
||||
* @param value a number
|
||||
* @return the absolute value of a number
|
||||
* @param number The number to be transformed
|
||||
* @return The absolute value of the {@code number}
|
||||
*/
|
||||
public static int absVal(int value) {
|
||||
return value < 0 ? -value : value;
|
||||
public static int getAbsValue(int number) {
|
||||
return number < 0 ? -number : number;
|
||||
}
|
||||
}
|
||||
|
18
src/test/java/com/thealgorithms/maths/AbsoluteValueTest.java
Normal file
18
src/test/java/com/thealgorithms/maths/AbsoluteValueTest.java
Normal file
@ -0,0 +1,18 @@
|
||||
package com.thealgorithms.maths;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
public class AbsoluteValueTest {
|
||||
|
||||
@Test
|
||||
void testGetAbsValue() {
|
||||
Stream.generate(() -> ThreadLocalRandom.current().nextInt())
|
||||
.limit(1000)
|
||||
.forEach(number -> assertEquals(Math.abs(number), AbsoluteValue.getAbsValue(number)));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user