Комментарии 1
Конечно, это зависит от желаемой глубины охвата тестов, но я бы добавил ещё проверку на логическую непротиворечивость сформированного документа:
совпадает ли код ОКУД в правом верхнем углу (0401060) с видом документа "Платежное поручение" - а так же охватил бы другие виды документов - платежное требование, банковский ордер, инкассовое поручение, и т.д.
корректны ли даты - например, дата документа не может быть новее даты его обработки. Наоборот может, но если свыше 10 дней - то повод насторожиться )
корректны ли ИНН, КПП, сочетание БИК + счёт и т.д.
совпадает ли название банка из документа с названием банка, соответствующее БИКу, и, именно на дату формирования документа (т.е. в 2023 году банк был с формой ПАО, а, например, в 2013 - ОАО)
совпадает ли сумма прописью и сумма цифрами
проверку на заведомо некорректные сочетания ИНН юрлица (10 символов) с первыми цифрами расчётного счёта, который может быть только у физлица
платеж на валютный счёт физлица (пусть даже рублевый), но без кода валютной операции в назначении платежа {VO ... - хотя это скорее предупреждение а не ошибка.
непревышение максимальной длины назначения платежа
ну и т.д., тут десятки проверок могут быть.
Так же, я бы добавил проверку с учётом структуры самого документа. Не знаю как pdfbox, но библиотека iText позволяет вытаскивать информацию из pdf из определённого прямоугольника, заданного координатами - тут как раз можно проверять не только наличие даты "11.11.2023" из вашего примера, но что их две и они находятся на своих местах. Хотя тут, конечно, при выгрузке из разных банк-клиентов или наоборот, из 1С/SAP/... общая структура одинакова, но всё сдвинуто и задание координат довольно мучительно ))
Автоматизируем проверку содержимого PDF-файлов с помощью pdf-test