mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-26 14:04:17 +08:00
58 lines
1.7 KiB
Java
58 lines
1.7 KiB
Java
package com.thealgorithms.searches;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
class SquareRootBinarySearchTest {
|
|
|
|
@Test
|
|
void testPerfectSquare() {
|
|
long input = 16;
|
|
long expected = 4;
|
|
assertEquals(expected, SquareRootBinarySearch.squareRoot(input), "Square root of 16 should be 4");
|
|
}
|
|
|
|
@Test
|
|
void testNonPerfectSquare() {
|
|
long input = 15;
|
|
long expected = 3;
|
|
assertEquals(expected, SquareRootBinarySearch.squareRoot(input), "Square root of 15 should be 3");
|
|
}
|
|
|
|
@Test
|
|
void testZero() {
|
|
long input = 0;
|
|
long expected = 0;
|
|
assertEquals(expected, SquareRootBinarySearch.squareRoot(input), "Square root of 0 should be 0");
|
|
}
|
|
|
|
@Test
|
|
void testOne() {
|
|
long input = 1;
|
|
long expected = 1;
|
|
assertEquals(expected, SquareRootBinarySearch.squareRoot(input), "Square root of 1 should be 1");
|
|
}
|
|
|
|
@Test
|
|
void testLargeNumberPerfectSquare() {
|
|
long input = 1000000;
|
|
long expected = 1000;
|
|
assertEquals(expected, SquareRootBinarySearch.squareRoot(input), "Square root of 1000000 should be 1000");
|
|
}
|
|
|
|
@Test
|
|
void testLargeNumberNonPerfectSquare() {
|
|
long input = 999999;
|
|
long expected = 999;
|
|
assertEquals(expected, SquareRootBinarySearch.squareRoot(input), "Square root of 999999 should be 999");
|
|
}
|
|
|
|
@Test
|
|
void testNegativeInput() {
|
|
long input = -4;
|
|
long expected = 0; // Assuming the implementation should return 0 for negative input
|
|
assertEquals(expected, SquareRootBinarySearch.squareRoot(input), "Square root of negative number should return 0");
|
|
}
|
|
}
|