Для класса A
;Соединитель Hamcrest не подходит для свойства типа Boolean
public class A {
Integer value;
Integer rate;
Boolean checked;
}
Я создаю пользовательский Matcher, как это;
Matchers.hasItems(allOf( hasProperty("value", equalTo(value)), hasProperty("rate", equalTo(rate))))
, чтобы проверить, если список A
содержит один с "value" == value && "rate" == rate
У меня есть проблема в том, что, когда я включаю свойство checked
Boolean
типа как ограничение для этого Matcher, он всегда терпит неудачу с ошибкой. msg property "checked" is not readable
.
Matchers.hasItems(allOf( hasProperty("value", equalTo(value)), hasProperty("rate", equalTo(rate)), hasProperty("checked", equalTo(checked))))
Является ли это каким-то образом связаны с методами геттерных полей логического типа имеют is
префикс, а не get
, и может быть Hamcrest не использовать is
префикс для геттер, если это не boolean
но Boolean
тип поля.
Кроме того, я должен добавить, что я не могу изменить структуру класса A
, поэтому я застрял с полями Boolean
.