mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-08 02:04:31 +08:00
Add PowerOfTwoOrNotTest
(#4279)
This commit is contained in:
@ -4,14 +4,8 @@ package com.thealgorithms.maths;
|
|||||||
* A utility to check if a given number is power of two or not. For example 8,16
|
* A utility to check if a given number is power of two or not. For example 8,16
|
||||||
* etc.
|
* etc.
|
||||||
*/
|
*/
|
||||||
public class PowerOfTwoOrNot {
|
public final class PowerOfTwoOrNot {
|
||||||
|
private PowerOfTwoOrNot() {
|
||||||
public static void main(String[] args) {
|
|
||||||
assert !checkIfPowerOfTwoOrNot(0);
|
|
||||||
assert checkIfPowerOfTwoOrNot(1);
|
|
||||||
assert checkIfPowerOfTwoOrNot(8);
|
|
||||||
assert checkIfPowerOfTwoOrNot(16);
|
|
||||||
assert checkIfPowerOfTwoOrNot(1024);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -21,7 +15,7 @@ public class PowerOfTwoOrNot {
|
|||||||
* @return {@code true} if given number is power of two, otherwise
|
* @return {@code true} if given number is power of two, otherwise
|
||||||
* {@code false}
|
* {@code false}
|
||||||
*/
|
*/
|
||||||
public static boolean checkIfPowerOfTwoOrNot(int number) {
|
public static boolean checkIfPowerOfTwoOrNot(final int number) {
|
||||||
return number != 0 && ((number & (number - 1)) == 0);
|
return number != 0 && ((number & (number - 1)) == 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
package com.thealgorithms.maths;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class PowerOfTwoOrNotTest {
|
||||||
|
@Test
|
||||||
|
public void testPowerOfTwoOrNotForPowersOfTwo() {
|
||||||
|
final var powersOfTwo = new int[] {1, 2, 4, 8, 16, 32, 64};
|
||||||
|
for (final var n : powersOfTwo) {
|
||||||
|
assertTrue(PowerOfTwoOrNot.checkIfPowerOfTwoOrNot(n));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testPowerOfTwoOrNotForNotPowersOfTwo() {
|
||||||
|
final var notPowersOfTwo = new int[] {-16, -8, -6, -5, -4, -3, -2, -1, 0, 3, 5, 6, 7, 9, 10, 11, 33, 63, 65, 1000, 9999};
|
||||||
|
for (final var n : notPowersOfTwo) {
|
||||||
|
assertFalse(PowerOfTwoOrNot.checkIfPowerOfTwoOrNot(n));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user