使用自定义Matcher比较对象

时间:2017-11-30 17:35:40

标签: java junit mockito hamcrest

您好我有两个要比较的对象集合,它们具有不同的类型,但都具有相同的属性。例: ObjA:

var app = new PIXI.Application(1200, 800, {antialias: true});
document.body.appendChild(app.view);

var path = new PIXI.tween.TweenPath();
path.moveTo(0.4, 0.4);
path.bezierCurveTo(0.4, 360,292, 652, 652, 652);
path.bezierCurveTo(87, 65, 105, 47, 105, 24);
path.closed = true;

var t = new PIXI.Graphics();
app.stage.addChild(t);

// t.lineStyle(10, 0xff0000);
// t.drawPath(path);

var tween = PIXI.tweenManager.createTween(t);
tween.path = path;
tween.time = 13000;
tween.easing = PIXI.tween.Easing.outBounce();
tween.loop = true;
tween.on('start', function () {
    t.lineStyle(10, 0xff0000);
    t.drawPath(path);
});
tween.start();

app.ticker.add(function (delta) {
    PIXI.tweenManager.update();
});

和ObjB:

public class ObjA {
    private String aaa;
    private String bbb;
    private String ccc;
    private ObjX xxx;
    //getters and setters
}

目前我按照财产比较其手工制作。为此存在一些更漂亮的解决方案吗?如果没有,你可以给我提示或示例如何编写自定义匹配器以进行比较public class ObjB { private String aaa; private String bbb; private String ccc; private ObjX xxx; //getters and setters } List<ObjA>吗?感谢。

修改 我决定编写扩展List<objB>的自定义匹配器,当我比较字符串值时,匹配器决定是等于,但是当我比较对象ObjX时,它标记为不匹配。 代码:

TypeSafeMatcher<ObjA>

如何进行xxx匹配?我确信ObjX的属性在两个对象中都具有相同的值。

0 个答案:

没有答案