Я использую Java и testng. У меня есть два набора строк: validSet и actualSet. Я хотел бы проверить через assert, что все в actualSet находится в validSet (то есть, что actualSet (- validSet. (Я использую (- обозначать это подмножество). Существует assertContains (desc, collection1, объект). Я пробовал это, но он взял мой actualSet и поместил его в строчную форму, такую как «[item1, item2, item3]» вместо обработки в качестве набора.Утверждение в testng с использованием
Существует assertCollectionEquals() с двумя коллекциями Я считаю, что если я могу удалить все в validSet, который не находится в actualSet, тогда я мог бы проверить, были ли эти два равными. Если они не являются, то я знаю, что actualSet не содержится в validSet.
И я мог бы сделать что-то вроде следующие:
for (String act : actual) {
assertTrue(act + " is not valid", validSet.contains(act);
}
но приятная вещь о собраниях утверждает, что они будут перечислять каждую строку, которая не находится в validSet, в то время как в приведенном выше примере будет отображаться только первое встреченное, а затем сбой.
Я пытаюсь думать о методах вызова, чтобы сравнение двух наборов должно быть равным. Как удалить из одного набора все значения, которые НЕ находятся в другом наборе?
Спасибо
Спасибо. Да, я подумал об этом. Просто не был уверен, насколько это красноречиво ;-) Но я думаю, что это яснее, чем то, что я хотел сделать. – Tony