用于创建Icon的junit方法

时间:2013-02-10 09:21:54

标签: java junit

我有一个方法

Icon getMoleculeIcon(Molecule mol)

我想测试。这样做的正确方法是什么?我正在考虑检查返回是否为Icon.class或者是否可以使用比较hashCodes。 后者似乎对我好,但我真的不确定。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

如果您传递的分子摩尔需要存储在一个文件中或类别中Icon对应的对象,那么您的结果必须很好。

图标是javax.swing接口图标?

如果是这样,如果返回的类型可能是ImageIcon,则必须进行释放。

当你有ImageIcon时,你可以getImage();

当你有Image对象时,你可以使用PixelGrabber类

来玩它

http://www.java-tips.org/java-se-tips/java.awt.image/how-to-use-pixelgrabber-class-to-acquire-pixel-data-from-an-image-o.html


另一个有趣的转换是使用BufferedImage http://www.java.net/node/646586


现在当你明白在Java中有太多的类来处理图像时,你有两个图像的像素数组(由你的代码传递确定的参数生成,以及存储在你的类中或由文件是传递特定参数的确定结果。)

您已准备好比较图像。 Pixel by Pixel或大脑密集型方法。


另一种解决方案是使用Icon界面创建对象并定义比较方法

http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Comparable.html


还有其他有趣的建议:

Image Comparison Techniques with Java

https://stackoverflow.com/questions/6971966/how-to-measure-percentage-similarity-between-two-images

有人做了一些很棒的lib

http://mindmeat.blogspot.it/2008/07/java-image-comparison.html


这是一项真正复杂的检查,但它对某些产品非常重要。我不知道你的情况是否合适,以及你是否有足够的时间来完成这项任务。

我希望有用。