用于子列表/部分匹配的 Hamcrest 匹配器?

bil*_*.cn 5 java hamcrest

假设我有一个实际的列表 [1, 2, 3, 4] 并且我想检查它是否包含子列表 [2, 3](即顺序也很重要)。是否有现有的匹配器可以做到这一点?

(有一个命名不当的hasItems方法,它只检查实际列表是否与预期列表中的任何一项匹配......)

bod*_*odo 3

如果可以的话,自己写一个。

请参阅编写自定义匹配器

它应该是这样的:

 public class HasSublist<T> extends TypeSafeMatcher<T> {

     @Override
      public boolean matchesSafely(List<T> subList) {
        //Logic if sublist exist ...
        return true;
      }

      public static <T> Matcher<T> hasSubList(List<T> containsSublist) {
        return new HasSublist<T>(containsSublist);
      }
}
Run Code Online (Sandbox Code Playgroud)