Я добавил dataConstraints на лист своей рабочей книги Apache POI.А теперь я хочу добавить модульный тест.
Мое ограничение - это простой список двух значений: "да" и "нет".
моя текущая попытка:
Assert.assertEquals(
Arrays.toString("yes,no".split(",")),
Arrays.toString(dv.get(0).getValidationConstraint().getExplicitListValues()));
}
Сбой при
expected:<[[yes, no]]> but was:<[["yes, no"]]
Я почти уверен, что упускаю что-то очевидное в логике типизации Java, но не могу понять, что именно.
- правка 1:
Я пытался создать список как
XSSFDataValidationConstraint c =
(XSSFDataValidationConstraint) dvHelper.createExplicitListConstraint(
new String[]{"yes", "no"});
и
XSSFDataValidationConstraint c =
(XSSFDataValidationConstraint) dvHelper.createExplicitListConstraint(
"yes,no".split(","));
, это не имеет значения, выход Arrays.toString( ...getExplicitListValues())
всегда будет показывать дополнительные кавычки!
- edit2:
Чтобы попытаться выяснить это, я создал список так, как подсказывает @ axel-ichter:
XSSFDataValidationConstraint c =
(XSSFDataValidationConstraint) dvHelper.createExplicitListConstraint(
"\"yes,no".split(","));
А потом я получаючто-то еще:
expected:<[[yes, no]]> but was:<[[""yes, no"]]>
- редактировать 3
ArrayUtils.contains( ....getExplicitListValues(), "yes") // returns null;
...getExplicitListValues().getClass().getTypeName() // java.lang.String[]