1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.atlassian.jira.rest.client.test.matchers;
18
19 import com.atlassian.jira.rest.client.api.NamedEntity;
20 import com.google.common.collect.Lists;
21 import org.hamcrest.FeatureMatcher;
22 import org.hamcrest.Matcher;
23 import org.hamcrest.Matchers;
24 import org.hamcrest.collection.IsIterableContainingInAnyOrder;
25
26 import java.util.Collection;
27
28 public class NamedEntityMatchers {
29 public static Matcher<? super NamedEntity> withName(String name) {
30 return new FeatureMatcher<NamedEntity, String>(Matchers.is(name), "entity with name that", "name") {
31
32 @Override
33 protected String featureValueOf(NamedEntity namedEntity) {
34 return namedEntity.getName();
35 }
36 };
37 }
38
39 public static Matcher<Iterable<? extends NamedEntity>> entitiesWithNames(String... names) {
40 final Collection<Matcher<? super NamedEntity>> matchers = Lists.newArrayListWithCapacity(names.length);
41 for (String key : names) {
42 matchers.add(withName(key));
43 }
44 return IsIterableContainingInAnyOrder.containsInAnyOrder(matchers);
45 }
46 }