package com.hithomelabs.princeton1.module6; import com.hithomelabs.princeton1.module5.AbstractCustomSorts; import com.hithomelabs.princeton1.common.Apple; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Random; import static org.junit.jupiter.api.Assertions.*; class MergeTest { private AbstractCustomSorts sortingAlgorithm; private ArrayList apples; private Random random; @BeforeEach void setUp() { apples = new ArrayList<>(); random = new Random(); } @Test @DisplayName("Merge Sort test client") public void testSort(){ sortingAlgorithm = new Merge(); for(int i = 0; i < 10; i++) apples.add(new Apple(random.nextInt(100))); Apple[] arr = apples.toArray(new Apple[apples.size()]); apples.sort(null); Apple[] sorted = apples.toArray(new Apple[apples.size()]); sortingAlgorithm.sort(arr); assertArrayEquals(sorted, arr); } @AfterEach void tearDown() { sortingAlgorithm = null; } }