【发布时间】:2012-08-25 08:48:25
【问题描述】:
我仍然是 EMF 的新手,所以也许我的问题没有真正的意义,或者我假设错了。
我正在处理一个模型驱动的项目,因此我定义了一个 ecore 元模型并生成了关联代码。现在我正在尝试进行单元测试,我需要能够测试对象之间的相等性,尤其是扩展 EObject 的对象之间的相等性。
我尝试使用 EcoreUtil.equals() 进行测试,但它总是返回 false,因为我的对象包含列表(EList 类)中的引用,这些引用的排序方式不同。但是,我在我的元模型中明确定义了引用没有排序:我想使用它们更像 Set 而不是 List。
所以,我最终决定在我生成的 *Impl 类中实现我自己的 equals 方法,即使它在 javadoc 中不鼓励,但它还有另一种更优雅的方式来测试 EMF 对象之间的结构相等性而不考虑列表的顺序?
谢谢!
【问题讨论】: