java Junit测试2个分支中的1个错过了

时间:2017-06-12 20:13:15

标签: java arrays testing junit

任何人都可以帮助我,测试这种方法

  public int[] selectRandomPosition(int sitzOfGraphic, int sitzOfGraphic2) {

    int width = StdRandom.uniform(0,sitzOfGraphic);
    int height = StdRandom.uniform(0,sitzOfGraphic2);
    return new int[]{width,height};
}

这是我的测试

 public void randomtest() throws Exception  {

    SetMines set = new SetMines();  
    int[] result = set.selectRandomPosition(10, 10);

    System.out.println(result[0]+"q");
    for(int a = 0; a < 2; a++){
        System.out.println(result[a]);
        Assert.assertTrue(result[a]<11 && result[a]>-1);
    }
}

如果这不正确,在Eclemma中有一个tipp'错过4个分支中的2个'。谢谢你!!!!

1 个答案:

答案 0 :(得分:0)

public class SetMines {

private int mine = 10;

private int [][] setfield = new int[10][10];

public int [][] setMineRandom(){
    /**
     * Die Mines mit einer zufaelligen Position zustellen
     */
    for (int i = 0; i < mine; i++) {
        int[] pos = selectRandomPosition(10,10);
        while(setfield[pos[0]][pos[1]]==1){  // pruefen od an der Stelle schon ein Mine stellt, wenn ja,sucht ein neue Position zu 
            pos = selectRandomPosition(10,10);
        }
        setfield[pos[0]][pos[1]] = 1;
    }
    return setfield;
}

public int[] selectRandomPosition(int sitzOfGraphic, int sitzOfGraphic2) {
    /**
     * zufaellige Position zu suchen
     */
    int width = StdRandom.uniform(0,sitzOfGraphic);
    int height = StdRandom.uniform(0,sitzOfGraphic2);
    return new int[]{width,height};
}

public void clear(){
    /**
     * eine gestellt mine loschen, damit noch mal neue stellen koennten.
     */
    for(int a =0 ; a<10 ;a++){
        for(int b = 0; b<10;b++){
            setfield[a][b] = 0;
        }
    }
}
// Getter-Methode , um die private Attribute auszunehmen.
public int getMine() {
    return mine;
}
public int[][] getSetfield() {
    return setfield;
}

}