Princeton1/module7/src/test/java/com/hithomelabs/princeton1/module7/QuickTest.java
hitanshu310 b8f6081173 practice (#13)
Reviewed-on: Hithomelabs/Princeton1#13
Co-authored-by: hitanshu310 <hitanshu98@gmail.com>
Co-committed-by: hitanshu310 <hitanshu98@gmail.com>
2025-02-07 21:00:19 +00:00

60 lines
1.5 KiB
Java

package com.hithomelabs.princeton1.module7;
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 QuickTest {
private Quick<Apple> quick;
private ArrayList<Apple> apples;
private Random random;
@BeforeEach
void setUp() {
quick = new Quick<Apple>();
apples = new ArrayList<Apple>();
random = new Random();
}
@Test
@DisplayName("testing Quick sort default implementation")
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()]);
quick.sort(arr);
apples.sort(null);
Apple[] sorted = apples.toArray(new Apple[apples.size()]);
Assertions.assertArrayEquals(sorted, arr);
}
// * * Optional test for alternate sort implmentation
/*
@Test
@DisplayName("testing Quick sort default implementation")
public void testAltSort(){
for(int i = 0; i < 100; i++)
apples.add(new Apple(random.nextInt(1000)));
Apple[] arr = apples.toArray(new Apple[apples.size()]);
quick.altSort(arr);
apples.sort(null);
Apple[] sorted = apples.toArray(new Apple[apples.size()]);
Assertions.assertArrayEquals(sorted, arr);
}
*/
@AfterEach
void tearDown() {
quick = null;
apples = null;
random = null;
}
}