Как на самом деле сортировать список в тесте junit в Eclipse? - PullRequest
0 голосов
/ 27 мая 2019

Как мне настроить этот тест JUnit для правильной сортировки?

Я пробовал несколько разных способов настройки теста, но он все еще не работает. Например, попытка удалить основные параметры для последующего добавления не работает. Я пытался настроить части, чтобы заставить это работать, но это только терпит неудачу.

       void test() {
        int [] input = new int[]{6,1,7,3,8,2,5,4};
        input.sort(input);
        assertEquals("1:2:3:4:5:6:7:8:",(input));
    }
         // Things I have tried
        //int[] result = new Computers().printArray(input);
        //input.sort(input);
        //assertEquals("1:2:3:4:5:6:7:8:",(input)); 
        //input.sort(input);
        //assertEquals(expected,numbers); 
        //int [] input = new int[]{6,1,7,3,8,2,5,4};
        //Computers sort = new Computers();
        //assertEquals("1:2:3:4:5:6:7:8:",(input));
        //int[] numbers = {6,1,7,3,8,2,5,4};
        //int[] expected = {1,2,3,4,5,6,7,8};   

}

        Here is my sort in Computers class

          public void sort(int arr[]) 
        { 
            int n = arr.length; 
            for (int i = 0; i < n-1; i++) 
                for (int j = 0; j < n-i-1; j++) 
                    if (arr[j] > arr[j+1]) 
                    { 
                        int temp = arr[j]; 
                        arr[j] = arr[j+1]; 
                        arr[j+1] = temp; 
                    } 
        } 
    static void printArray(int arr[]) { 
            int n = arr.length; 
            for (int i = 0; i < n; ++i) 
            System.out.print(arr[i] + " "); 
            System.out.println(); 
        } 

Невозможно вызвать сортировку (int []) для типа массива int [] Невозможно сделать статическую ссылку на сортировку нестатического метода (int []) из типа Computers

Так что я не знаю, как именно я должен настроить этот вид для правильной работы.

1 Ответ

0 голосов
/ 28 мая 2019

Я предлагаю использовать Hamcrest:

import static org.hamcrest.CoreMatchers.hasItems;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.collection.IsCollectionWithSize.hasSize;
import static org.hamcrest.collection.IsIterableContainingInOrder.contains;
import static org.junit.Assert.assertThat;    

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;    

import org.hamcrest.collection.IsEmptyCollection;
import org.junit.Test;    

public class AssertLists {    

     @Test
        public void testAssertList() {    

            List<Integer> actual = Arrays.asList(1,2,3,4,5,6);
            List<Integer> expected = Arrays.asList(1,2,3,4,5,6);


            //1. Test equal.
            assertThat(actual, is(expected));    


            //2. Check List Size
            assertThat(actual, hasSize(6));    

            assertThat(actual.size(), is(6));    

            //3.  List order    

            // Ensure Correct order
            assertThat(expected, contains(1,2,3,4,5,6));    

            // Can be any order
            assertThat(expected, hasItems(3,2,6));    

            //4. check empty list
            assertThat(actual, not(IsEmptyCollection.empty()));    

            assertThat(new ArrayList<>(), IsEmptyCollection.empty());    

        }    

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