use*_*871 5 java arraylist bluej
我想要一个测试类来测试这个类,但我不知道如何编写它,我试图在网上看到但我仍然无法解决它.我在BlueJ上编写代码,我正在尝试创建设置游戏.
import java.util.*;
public class Deck
{
ArrayList<Card> deck;
public Deck ()
{
deck = new ArrayList<Card>();
}
public Deck (int capacity)
{
deck = new ArrayList<Card>(capacity);
}
public int getNumCards ()
{
return deck.size();
}
public boolean isEmpty ()
{
return deck.isEmpty();
}
public void add (Card card)
{
deck.add(0,card);
}
public Card takeTop()
{
return deck.remove(0);
}
public void shuffle ()
{
Collections.shuffle(deck);
}
public void sort ()
{
Collections.sort(deck);
}
public String toString ()
{
return (deck.toString()+ "\n");
}
}
Run Code Online (Sandbox Code Playgroud)
首先你需要决定你需要为你的类编写哪些测试用例,一旦你有了测试用例列表,你就可以使用像 Junit 这样的库来创建测试用例。
这是一些 Junit 方法的示例
import static org.junit.Assert.assertEquals;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
public class MyClassTest {
MyClass tester;
@BeforeClass
public static void testSetup() {
tester = new MyClass();
}
@AfterClass
public static void testCleanup() {
// Do your cleanup here like close URL connection , releasing resources etc
}
@Test(expected = IllegalArgumentException.class)
public void testExceptionIsThrown() {
tester.divide(1000, 0);
}
@Test
public void testMultiply() {
assertEquals("Result", 50, tester.multiply(10, 5));
}
}
Run Code Online (Sandbox Code Playgroud)
您需要创建主要方法来测试类的功能。
public static void main(String args[])
{
//To do
}
Run Code Online (Sandbox Code Playgroud)
例如,在您的 main 方法中,您需要构造一个 Card 对象(假设您有 Card 类)。
Card card = new Card();
Run Code Online (Sandbox Code Playgroud)
然后,您还需要构造一个 Deck 对象,您可以使用该对象调用 Deck 类的方法,例如将卡片添加到 Deck 中
Deck deck = new Deck();
Run Code Online (Sandbox Code Playgroud)
使用deck对象调用add方法将卡片添加到Deck中
deck.add(card);
Run Code Online (Sandbox Code Playgroud)
所以现在你的 main 方法应该看起来像这样:
public static void main(String args[])
{
Card card = new Card();
Deck deck = new Deck();
deck.add(card);
}
Run Code Online (Sandbox Code Playgroud)
同样在您的 Deck 类中,我建议使用List<Card> deck = new ArrayList<Card>();
而不是ArrayList<Card> deck = new ArrayList<Card>();.
希望这能为您提供一个起点。
| 归档时间: |
|
| 查看次数: |
74734 次 |
| 最近记录: |