Есть ли простой способ сравнить экземпляры BufferedImage?

Я работаю над частью Java-приложения, которое принимает изображение в виде байтового массива, читает его вjava.awt.image.BufferedImage экземпляр и передает его в стороннюю библиотеку для обработки.

Для модульного теста я хочу взять изображение (из файла на диске) и утверждать, что оно совпадает с тем же изображением, которое было обработано кодом.

My expected BufferedImage 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() Значения также не работают, потому что выходная строка содержит справочную информацию об объекте.

Кто-нибудь знает какие-нибудь ярлыки? Я бы предпочел не использовать стороннюю библиотеку для одиночного модульного теста в небольшой части большого приложения.

Ответы на вопрос(7)

Ваш ответ на вопрос