InstantiationE UnitTesting sortMethod - PullRequest
       1

InstantiationE UnitTesting sortMethod

0 голосов
/ 23 февраля 2020

Я хочу написать тест для нескольких методов сортировки.

Я пробовал это:

public abstract class SortingTestBase {
    public abstract BubbleSort getSortingMethod();
    @Test
    public void shouldSortSimpleArray(){
        // given
        int[] given = new int[]{5, 4, 3, 2, 1};
        int[] expected = new int[]{1, 2, 3, 4, 5};
        // when
        long startTime = System.currentTimeMillis();
        int[] result = BubbleSort.sort(given);
        long endTime = System.currentTimeMillis();
        System.out.println(endTime - startTime);
        // then
        assertArrayEquals(expected, result);
    }

}

во время компиляции я получаю

java .lang.InstantiationException в java .base / jdk.internal .reflect.

class BubbleSort {
     public static int[] sort(int[] array) {
        if (array == null) {
            throw new IllegalArgumentException("Array cannot be null");
        }
        int[] arrayToSort = array.clone();
        if (arrayToSort.length < 2) {
            return arrayToSort;
        }
        for (int i = 0; i < arrayToSort.length - 1; i++) {
            for (int j = 0; j < arrayToSort.length - 1 - i; j++) {
                if (arrayToSort[j + 1] < arrayToSort[j]) {
                    ArrayHelper.swap(arrayToSort, j, j + 1);
                }
            }
        }
        return arrayToSort;
    }

Может кто-нибудь объяснить мне, почему я получаю это?

Любое руководство, как я могу это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...