我有一個接口和兩個實現該接口的對象,大大簡化了;比較兩個實現相同/相等接口的對象 - 設計幫助
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.
我在這裏尋找良好的編碼實踐和風格。我明白,我可以迭代一個關鍵集合,拉出兩個對象應該是等價的,然後調用所有的方法,並比較,我只是想可能有一個更清潔,更可擴展的方式,我有興趣學習可能有什麼選擇。
將適當/可能/建議覆蓋等於或實現可比較?
由於提前,
加文
好極了,這對我來說很有意義,我會寫代碼的測試和不斷的實現的方程。 你說得對,這段代碼只會在遷移過程中使用。 – gav 2010-04-16 08:39:45