如何从另一个类调用构造函数

时间:2015-06-03 22:02:10

标签: java junit constructor call subclass

构造函数MappaFermi()设置类mappaName的属性Mappa()和类settoreNome的属性Settore()

public class Settore {
        private Nome settoreNome;
        private char letteraX;
        private final int coordinataX;
        private final int coordinataY;

    public Settore (int coordinataX, int coordinataY){
        this.coordinataX=coordinataX;
        this.coordinataY=coordinataY;
    }
    public int getX(){
        return coordinataX;
    }
    public int getY(){
        return coordinataY;
    }
    public Nome getSettoreNome() {
        return settoreNome;
    }
    public void setSettoreNome(Nome settoreNome) {
        this.settoreNome = settoreNome;
    }

}

public enum Nome {
    SICURO, PERICOLOSO, SCIALUPPA, ALIENI, UMANI
}

public class Mappa {
    private Name mappaName;
    private final Settore [][] settore;
    private int Matrice [][];
    private static final int X=23;
    private static final int Y=14;

    public Mappa (){
        settore = new Settore[X][Y];
        for (int i=0; i < X; i++){
            for (int j=0; j<Y; j++) {
                settore[i][j] = new Settore (i,j);
            }
        }
    }

    public Name getMappaName() {
        return mappaName;
    }

    public void setMappaName(Name mappaName) {
        this.mappaName = mappaName;
    }
}

public class MappaFermi extends Mappa {

    public MappaFermi() {
        setMappaName(Name.FERMI);

        new Alieni(10,8);//This creates a new Object Settore with coordinataX= 10, coordinataY=8 and settoreNome=Nome.ALIENI
        new Umani(10,9);

    }
 }

当我运行构造函数settoreNome时,我正在进行JUnit测试以验证Settore(10,8)的属性MappaFermi的值确实是Alieni ()。我不知道我应该如何从中运行方法getSettoreNome()。

public class MappaFermiTest {
    @Test
    public void testSettoreAlieni(){
        Mappa mappa = new MappaFermi();
        Settore settore = //When I run MappaFermi() it runs new Alieni(10,8) so i want to get Settore(10,8) using Settore settore so i can get the settoreNome using getSettoreNome()
        assertEquals(Nome.ALIENI, settore.getSettoreNome());
    }
}

0 个答案:

没有答案