У меня есть интерфейс и два объекта, реализующих этот интерфейс, упрощенно;
public interface MyInterface {
public int getId();
public int getName();
...
}
public class A implements MyInterface {
...
}
public class B implements MyInterface {
...
}
Мы переходим от использования одной реализации к другой, но мне нужно проверить, что генерируемые объекты типа B эквивалентны объектам типа A. В частности, я имею в виду, что для всех методов интерфейса объект типа A и тип B вернет то же значение (я просто проверяю, мой код для генерации этого объекта правильный).
Как бы вы поступили об этом?
Map<String, MyInterface> oldGeneratedObjects = getOldGeneratedObjects();
Map<String, MyInterface> newGeneratedObjects = getNewGeneratedObjects();
// TODO: Establish that for each Key the Values in the two maps return equivalent values.
Я ищу хорошие практики и стиль кодирования здесь. Я ценю, что мог бы просто пройтись по одному набору ключей, извлекая оба объекта, которые должны быть эквивалентны, а затем просто вызвать все методы и сравнить, я просто думаю, что может быть более чистый, более расширяемый способ, и мне интересно узнать какие варианты могут быть.
Было бы целесообразно / возможно / рекомендовано переопределить равно или реализовать Comparable?
Заранее спасибо,
Gavin