I'm not new at Java, but I'm in JUnit. I'm having a problem with a simple for loop. I'm ordering array elements with bubble sorting, but I don't know why the two last elements disappear during the loop. I know it will be a little tiny thing, but I can't find the mistake. Could you help me, please?
This is my class:
package exercise5;
public class Ejercicio5 {
    public static int[] sort(int[] arrayNums) {
        // array that I have tried: {6,5,8,3,7,1}; [6]
        System.out.println("size: " + arrayNums.length);
        for (int j = 0; j < arrayNums.length; j++) {
            System.out.println("j:" + j);
            if (arrayNums[j] > arrayNums[j + 1]) {
                System.out.println("entra");
                int numGuardado = arrayNums[j + 1];
                arrayNums[j + 1] = arrayNums[j];
                arrayNums[j] = numGuardado;
            }
            print(arrayNums);
        }
        return arrayNums;
    }
    public static void print(int[] arrayParaImprimir) {
        System.out.println("Array:");
        for (int j = 0; j < arrayParaImprimir.length; j++) {
            if (j != arrayParaImprimir.length - 1) {
                System.out.print(arrayParaImprimir[j] + ", ");
            } else {
                System.out.print(arrayParaImprimir[j] + "\n");
            }
        }
    }
}
My TestClass with JUnit5:
package exercise5;
import org.junit.Assert;
import org.junit.jupiter.api.Test;
import junit.framework.TestCase;
public class Ejercicio5Test extends TestCase{
    
    @Test
    public void resultadoCorrecto(){
        int[] correct = {1,3,5,6,7,8};
        int[] array = {6,5,8,3,7,1};
        int[] result = Ejercicio5.sort(array);
        Assert.assertArrayEquals(result, correct);
    }
    
    @Test
    public void resultadoIncorrecto(){
        int[] correct = {1,3,5,6};
        int[] array = {3,5,6,1};
        int[] result = Ejercicio5.sort(array);
        Assert.assertArrayEquals(result, correct);
    }
}
When j is equal to 4, the ordering is doing: 5, 6, 3, 7, 1, 8 but when j passed to 5, two elements disappear. In addition, in my Test class there are only two methods, but, when I run it, it recognises one more and give me an error:
This is the array that I have tried {1,3,5,6,7,8} and this is that I expected {5,6,3,7,1,8} with 6 of array's size, not element disappearing.
This is the output in console. NOT ArrayIndexOutOfBounds. Only disappear 2 elements, and the size changes, not throwing any exceptions:
size: 6
j:0
entra
Array:
5, 6, 8, 3, 7, 1
j:1
Array:
5, 6, 8, 3, 7, 1
j:2
entra
Array:
5, 6, 3, 8, 7, 1
j:3
entra
Array:
5, 6, 3, 7, 8, 1
j:4
entra
Array:
5, 6, 3, 7, 1, 8
j:5
size: 4
j:0
Array:
3, 5, 6, 1
j:1
Array:
3, 5, 6, 1
j:2
entra
Array:
3, 5, 1, 6
j:3

 
     
     
     
    