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