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