@Test public void testCanHandleArray() throws Throwable { Clog.setMinPriority(Clog.Priority.VERBOSE); field = ArrayTestClass.class.getField("emptyDefaultField"); assertThat(underTest.acceptsClass(String[].class), is(true)); optionsObject.put(optionKey, new String[] {"11", "12", "13"}); assertThat(underTest.getArray(field, optionsObject, optionKey), IsArrayContainingInAnyOrder.arrayContainingInAnyOrder("11", "12", "13")); optionsObject.remove(optionKey); assertThat(optionsObject.has(optionKey), is(false)); field = ArrayTestClass.class.getField("emptyDefaultField"); assertThat(underTest.getArray(field, optionsObject, optionKey), is(emptyArray())); }
private void checkHasData(String... expectedCities) throws SqpException { Cursor cursor = connection.execute(Cursor.class, "SELECT city FROM weather").join(); Collection<Matcher<String>> cities = new ArrayList<>(); while(cursor.nextRow()) { cities.add(Is.is(cursor.at(0).asString())); } assertThat(expectedCities, new IsArrayContainingInAnyOrder(cities)); }
@Test public void testReadWithCatchAllField() { SolrDocument document = new SolrDocument(); document.addField("stringProperty_ci", "case-insensitive-string"); document.addField("stringProperty_multi", new String[] { "first", "second", "third" }); BeanWithCatchAllField target = converter.read(BeanWithCatchAllField.class, document); Assert.assertEquals(4, target.allStringProperties.length); Assert.assertThat(target.allStringProperties, IsArrayContainingInAnyOrder.arrayContainingInAnyOrder("case-insensitive-string", "first", "second", "third")); }
@Test public void canAssignIsArrayContainingInAnyOrderMatcher() { Matcher<Phone[]> m = IsArrayContainingInAnyOrder.arrayContainingInAnyOrder( aPhoneThat().hasCode("4321"), aPhoneThat().hasCode("1234")); assertThat(bob, is(aPersonThat().hasPhones(m))); }