繁体   English   中英

org.hamcrest.Matchers用于同时匹配Object的不同属性

[英]org.hamcrest.Matchers for matching different properties simultaneously of an Object

我试图通过org.hamcrest.Matchers匹配Object的两个不同属性。 这里是:

List<LeaveApply> leaveApplyList = Lambda.select(
   allLeaveApplyList,
       Matchers.allOf(
            Lambda.having(
                Lambda.on(LeaveApply.class).getUser().getId(),   
                Matchers.equalTo(userId)), 
            Lambda.having(
                Lambda.on(LeaveApply.class).getDate(),
                Matchers.allOf(
                    Matchers.greaterThanOrEqualTo(fromDate), 
                    Matchers.lessThanOrEqualTo(toDate)))
                 )
              );

它给出一个LeaveApply对象列表,其中user-id等于给定的id和日期小于或等于to-date且大于或等于from-date。 这是工作。 我想知道它是匹配不同属性字段的正确方法吗?

据我所知,它应该可以工作。 您可以做两个改进:使用静态导入使其更具可读性并使用having(...).and(...)而不是使用allOf

import static ch.lambdaj.Lambda.*;
import static org.hamcrest.Matchers.*;

List<LeaveApply> leaveApplyList = select(allLeaveApplyList, having(on(LeaveApply.class).getUser().getId(), equalTo(userId)).and(on(LeaveApply.class).getDate(), allOf(greaterThanOrEqualTo(fromDate), lessThanOrEqualTo(toDate)))));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM