Есть ли простой способ сравнить экземпляры BufferedImage?
Я работаю над частью Java-приложения, которое принимает изображение в виде байтового массива, читает его вjava.awt.image.BufferedImage
экземпляр и передает его в стороннюю библиотеку для обработки.
Для модульного теста я хочу взять изображение (из файла на диске) и утверждать, что оно совпадает с тем же изображением, которое было обработано кодом.
My expectedBufferedImage
is read from a PNG file on disk using ImageIO.read(URL)
.
My test code reads the same file into a BufferedImage
and writes that to a byte array as PNG to provide to the system under test.
Когда тестируемая система записывает байтовый массив в новыйBufferedImage
Я хочу утверждать, что эти два изображения значимо равны. С помощьюequals()
(наследуется отObject
) не работает (конечно). СравнениеBufferedImage.toString()
Значения также не работают, потому что выходная строка содержит справочную информацию об объекте.
Кто-нибудь знает какие-нибудь ярлыки? Я бы предпочел не использовать стороннюю библиотеку для одиночного модульного теста в небольшой части большого приложения.