Ich möchte Kartenobjekte sortieren, die ich gemacht habe. Ich habe ein Array erstellt, um die Karten in der richtigen Reihenfolge zu sortieren, aber mein Array.sort (Karten) schlägt meinen Junit-Test fehl. Gibt es ein Problem mit meiner Methode testSort()? Mein setUp() Test besteht, also ist es das nicht.Array.sort Problem?
import org.junit.Before;
import org.junit.Test;
import java.util.Arrays;
import static org.junit.Assert.*;
public class CardTest {
private Card twoOfClubs;
private Card fourOfDiamonds;
private Card sixOfHearts;
private Card tenOfSpades;
@Before
public void setUp() throws Exception {
twoOfClubs = new Card(Rank.TWO, Suit.CLUBS);
fourOfDiamonds = new Card(Rank.FOUR, Suit.DIAMONDS);
sixOfHearts = new Card(Rank.SIX, Suit.HEARTS);
tenOfSpades = new Card(Rank.TEN, Suit.SPADES);
}
@Test
public void testSort() {
Card[] cards = new Card[4];
Arrays.sort(cards);
assertEquals(twoOfClubs, cards[0]);
assertEquals(fourOfDiamonds, cards[1]);
assertEquals(sixOfHearts, cards[2]);
assertEquals(tenOfSpades, cards[3])
}
}
Okay, das macht Sinn. Aber eine letzte Sache. Wie kann ich Karten von setUp() zu testSort() aufrufen? Es besagt, dass Karten nicht in eine Variable aufgelöst werden können. – dj5
@ dj5 ah, das habe ich verpasst. Möglicherweise müssen Sie Karten außerhalb der Funktionen deklarieren. Auf diese Weise steht es beiden Funktionen zur Verfügung. –
Oh ... Das ging über meinen Kopf haha. Danke für die Hilfe. – dj5