最初に.bmp画像を取得することにより、「seeBMPImage」と呼ばれるクラスRetinaのメソッドをテストする次のテストクラスTest_Retinaがあります。ただし、ヌル ポインター例外が発生します。66 x 66 ピクセル幅の画像の名前は「2.bmp」であり、クラス「Retina.java」および「Test_Retina.java」と同じパッケージに含まれているため、その理由がわかりません。
public class Test_Retina extends junit.framework.TestCase {
private Retina retina;
public void setUp() {
VisionCell[][] visionCells = new VisionCell[66][66];
// this.retina = new Retina(visionCells);
}
public void test_seeBMPImage() throws IOException {
this.retina.seeBMPImage("2.bmp"); <-- !!GETTING A NULLPOINTEREXCEPTION!!
// ...
}
}
public class Retina {
private VisionCell[][] visionCells;
public void seeBMPImage(String BMPFileName) throws IOException {
BufferedImage image = ImageIO.read(getClass().getResource(BMPFileName));
int color = image.getRGB(1, 1);
if (color == Color.BLACK.getRGB()) {
System.out.println("black");
} else {
System.out.println("white");
}
}
}