Determine if an Integer's Square Root Is an Integer in Java Article by Abdallah Sawan

This commit is contained in:
AbdallahSawan
2020-11-22 13:20:43 +02:00
parent 35a9131a72
commit 6e54323282
2 changed files with 76 additions and 0 deletions
@@ -0,0 +1,27 @@
package com.baeldung.perfectsquare;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class PerfectSquareUnitTest {
@Test
public void test0xFFAssignedToInteger() {
long n = 18676209273604L; // 18676209273604 = 43621598 * 43621598
boolean expectedValue = true;
assertEquals(expectedValue, PerfectSquareUtil.isPerfectSquareByUsingSqrt(n));
assertEquals(expectedValue, PerfectSquareUtil.isPerfectSquareByUsingBinarySearch(1, Integer.MAX_VALUE, n));
assertEquals(expectedValue, PerfectSquareUtil.isPerfectSquareByUsingNewtonMethod(n));
assertEquals(expectedValue, PerfectSquareUtil.isSquareNumberWithOptimization(n));
}
@Test
public void test0xFFAssignedToByte() {
long n = 549790047707L; // prime number
boolean expectedValue = false;
assertEquals(expectedValue, PerfectSquareUtil.isPerfectSquareByUsingSqrt(n));
assertEquals(expectedValue, PerfectSquareUtil.isPerfectSquareByUsingBinarySearch(1, Integer.MAX_VALUE, n));
assertEquals(expectedValue, PerfectSquareUtil.isPerfectSquareByUsingNewtonMethod(n));
assertEquals(expectedValue, PerfectSquareUtil.isSquareNumberWithOptimization(n));
}
}