Princeton1/module8/src/test/java/com/hithomelabs/princeton1/module8/HeapSortTest.java
hitanshu310 bbc040dcd4
All checks were successful
sample gradle build and test / build (pull_request) Successful in 2m16s
sample gradle build and test / build (push) Successful in 55s
Heapsort Implementation
2025-02-16 16:40:56 +05:30

51 lines
1.4 KiB
Java

package com.hithomelabs.princeton1.module8;
import com.hithomelabs.princeton1.common.Apple;
import org.junit.jupiter.api.*;
import java.util.ArrayList;
import java.util.Random;
import static org.junit.jupiter.api.Assertions.*;
class HeapSortTest {
private HeapSort<Apple> heap;
private ArrayList<Apple> apples;
private Random random;
@BeforeEach
void setUp() {
heap = new HeapSort<Apple>();
apples = new ArrayList<Apple>();
random = new Random();
}
@Test
@DisplayName("Sort a heap of a 100 random sized apples")
public void testSort(){
for(int i = 0; i < 100; i++)
apples.add(new Apple(random.nextInt(1000)));
Apple[] arr = apples.toArray(new Apple[apples.size()]);
heap.sort(arr);
apples.sort(null);
Apple[] sorted = apples.toArray(new Apple[apples.size()]);
Assertions.assertArrayEquals(sorted, arr);
}
@Test
@DisplayName("Sort 100 apples in descending order")
public void testSortBorder(){
for(int i = 0; i < 100; i++)
apples.add(new Apple(100 - i));
Apple[] arr = apples.toArray(new Apple[apples.size()]);
heap.sort(arr);
apples.sort(null);
Apple[] sorted = apples.toArray(new Apple[apples.size()]);
Assertions.assertArrayEquals(sorted, arr);
}
@AfterEach
void tearDown() {
}
}