Я работаю над частью приложения Java, которое принимает изображение в виде байтового массива, считывает его в экземпляр java.awt.image.BufferedImage
и передает его в стороннюю библиотеку для обработки.
Для unit test, я хочу взять образ (из файла на диске) и утверждать, что он равен тому же изображению, которое было обработано кодом.
- Мой ожидаемый
BufferedImage
читается из PNG файла на диске с помощьюImageIO.read(URL)
. - Мой тестовый код читает один и тот же файл в
BufferedImage
и записывает его в массив байтов как PNG для предоставления тестируемой системе.
Когда тестируемая система записывает массив байтов в новый BufferedImage
, я хочу сказать, что оба изображения одинаково значимым образом. Использование equals()
(унаследовано от Object
) не работает (конечно). Сравнение значений BufferedImage.toString()
также не работает, потому что выходная строка содержит информацию об объекте.
Кто-нибудь знает какие-нибудь ярлыки? Я бы предпочел не приносить стороннюю библиотеку для одного unit test в небольшой части большого приложения.