public class SamePropertyValuesAs<T> extends DiagnosingMatcher<T>
Modifier and Type | Class and Description |
---|---|
private static class |
SamePropertyValuesAs.PropertyMatcher |
Modifier and Type | Field and Description |
---|---|
private T |
expectedBean |
private java.util.List<java.lang.String> |
ignoredFields |
private java.util.List<SamePropertyValuesAs.PropertyMatcher> |
propertyMatchers |
private java.util.Set<java.lang.String> |
propertyNames |
Constructor and Description |
---|
SamePropertyValuesAs(T expectedBean,
java.util.List<java.lang.String> ignoredProperties) |
Modifier and Type | Method and Description |
---|---|
void |
describeTo(Description description)
Generates a description of the object.
|
private boolean |
hasMatchingValues(java.lang.Object actual,
Description mismatchDescription) |
private boolean |
hasNoExtraProperties(java.lang.Object actual,
Description mismatchDescription) |
private boolean |
isCompatibleType(java.lang.Object actual,
Description mismatchDescription) |
private static boolean |
isIgnored(java.util.List<java.lang.String> ignoredFields,
java.beans.PropertyDescriptor propertyDescriptor) |
protected boolean |
matches(java.lang.Object actual,
Description mismatch) |
private static <T> java.util.List<SamePropertyValuesAs.PropertyMatcher> |
propertyMatchersFor(T bean,
java.beans.PropertyDescriptor[] descriptors,
java.util.List<java.lang.String> ignoredFields) |
private static java.util.Set<java.lang.String> |
propertyNamesFrom(java.beans.PropertyDescriptor[] descriptors,
java.util.List<java.lang.String> ignoredFields) |
private static java.lang.Object |
readProperty(java.lang.reflect.Method method,
java.lang.Object target) |
static <B> Matcher<B> |
samePropertyValuesAs(B expectedBean,
java.lang.String... ignoredProperties)
Creates a matcher that matches when the examined object has values for all of
its JavaBean properties that are equal to the corresponding values of the
specified bean.
|
describeMismatch, matches
_dont_implement_Matcher___instead_extend_BaseMatcher_, isNotNull, toString
private final T expectedBean
private final java.util.Set<java.lang.String> propertyNames
private final java.util.List<SamePropertyValuesAs.PropertyMatcher> propertyMatchers
private final java.util.List<java.lang.String> ignoredFields
public SamePropertyValuesAs(T expectedBean, java.util.List<java.lang.String> ignoredProperties)
protected boolean matches(java.lang.Object actual, Description mismatch)
matches
in class DiagnosingMatcher<T>
public void describeTo(Description description)
SelfDescribing
description
- The description to be built or appended to.private boolean isCompatibleType(java.lang.Object actual, Description mismatchDescription)
private boolean hasNoExtraProperties(java.lang.Object actual, Description mismatchDescription)
private boolean hasMatchingValues(java.lang.Object actual, Description mismatchDescription)
private static <T> java.util.List<SamePropertyValuesAs.PropertyMatcher> propertyMatchersFor(T bean, java.beans.PropertyDescriptor[] descriptors, java.util.List<java.lang.String> ignoredFields)
private static java.util.Set<java.lang.String> propertyNamesFrom(java.beans.PropertyDescriptor[] descriptors, java.util.List<java.lang.String> ignoredFields)
private static boolean isIgnored(java.util.List<java.lang.String> ignoredFields, java.beans.PropertyDescriptor propertyDescriptor)
private static java.lang.Object readProperty(java.lang.reflect.Method method, java.lang.Object target)
public static <B> Matcher<B> samePropertyValuesAs(B expectedBean, java.lang.String... ignoredProperties)
agerather than method names such as
getAge. For example:
assertThat(myBean, samePropertyValuesAs(myExpectedBean))
assertThat(myBean, samePropertyValuesAs(myExpectedBean), "age", "height")
expectedBean
- the bean against which examined beans are comparedignoredProperties
- do not check any of these named properties.