В качестве дополнительного вопроса к моему вопросу в Работа с массивами с помощью hamcrest и будьте уверены а>
Как я могу использовать hamcrest с успокоенным, чтобы я мог проверить
{
"mobilenum": "+6519829340",
"firstname": "Allen",
"lastname": "Edwards",
"location": "Singapore"
"outbound": "YES"
"count" : 15
},
{
"mobilenum": "+6519829340",
"firstname": "Allen",
"lastname": "Edwards",
"location": "Singapore"
"outbound": "NO"
"count" : 9
}
Что существует два типа данных, один из которых содержит номер мобильного телефона, имя и т. д., имеющий исходящее значение «да», а другой — «нет».
Это было бы похоже на наличие двух объектов с одинаковыми свойствами, кроме исходящего свойства.
Ответ Джона на предыдущий вопрос таков:
.root("smsentries.find { it.mobilenum == '%s' }").
.body("firstname", withArgs("+6519829340"), equalTo("Allen")
.body("lastname", withArgs("+6519829340"), equalTo("Edwards").
.body("firstname", withArgs("+12345678"), equalTo("John")
.body("lastname", withArgs("+12345678"), equalTo("Doe").
Я не знаю, как добавить что-то вроде withArgs("Allen") и ("Edwards).equalTo("outbound")
ОБНОВЛЕНИЕ
Я надеюсь, что произойдет следующее:
for (Map.Entry<String,JsonElement> entry : o.entrySet()) {
if (entry.getKey().equals("smsentries")) {
JsonArray array = entry.getValue().getAsJsonArray();
for (JsonElement elementJSON : array) {
SMSEntry smsEntry = mapper.readValue(elementJSON.toString(), SMSEntry.class);
if (smsEntry.getMobilenum().equals("+6519829340") &&
smsEntry.getOutbound().equals("YES")) {
assertThat(smsEntry.getLocation(), equalTo("Singapore"));
assertThat(smsEntry.getCount(), equalTo(15));
}
}
}
}
Если у меня есть номер мобильного телефона, равный +6519829340, и я вхожу в исходящий трафик, подтвердите, что местоположение находится в Сингапуре и имеет счет 15.