尝试进行单元测试时出现“ Java.util.NoSuchElement”

时间:2019-03-24 19:50:59

标签: java

我想为我的Nim游戏创建一个单元测试,该单元测试通过输入流输入一个数字,然后返回结果。但是,我继续收到此错误消息,说java.util.NoSuchElement

这是我的代码:

public void testTakeTurn() {
    System.out.println("takeTurn");

    String input = "3 2 1 ";
    InputStream in = new ByteArrayInputStream(input.getBytes());
    ByteArrayOutputStream outContent = new ByteArrayOutputStream();
    System.setOut(new PrintStream(outContent));
    System.setIn(in);

    Pile p = new Pile(10);
    Player instance = new Player("Hecan");

    //case 1
    System.out.println("Testing remove 3 stones");
    input = "3 ";
    in = new ByteArrayInputStream(input.getBytes());
    System.setIn(in);
    instance.takeTurn(p);
    int expectedPile = 7;
    int actualPile = p.getStones();
    assertEquals(expectedPile, actualPile, 0.0);

    //case2
    System.out.println("Testing remove 2 stones");
    input = "2 ";
    p.setStones(10);
    in = new ByteArrayInputStream(input.getBytes());
    System.setIn(in);
    instance.takeTurn(p);
    expectedPile = 8;
    actualPile = p.getStones();
    assertEquals(expectedPile, actualPile, 0.0);

    //case3
    System.out.println("Testing remove 1 stones");
    input = "1 ";
    p.setStones(10);
    in = new ByteArrayInputStream(input.getBytes());
    System.setIn(in);
    instance.takeTurn(p);
    expectedPile = 9;
    actualPile = p.getStones();
    assertEquals(expectedPile, actualPile, 0.0);

0 个答案:

没有答案