/** * An alias of {@link #containsOnlyElementsOf(Iterable)} : verifies that actual contains all elements of the * given {@code Iterable} and nothing else, <b>in any order</b>. * <p> * Example: * <pre><code class='java'> Ring[] elvesRings = {vilya, nenya, narya}; * * // assertions will pass: * assertThat(elvesRings).hasSameElementsAs(newArrayList(nenya, narya, vilya)); * assertThat(elvesRings).hasSameElementsAs(newArrayList(nenya, narya, vilya, nenya)); * * // assertions will fail: * assertThat(elvesRings).hasSameElementsAs(newArrayList(nenya, narya)); * assertThat(elvesRings).hasSameElementsAs(newArrayList(nenya, narya, vilya, oneRing));</code></pre> * * @param iterable the {@code Iterable} whose elements we expect to be present * @return this assertion object * @throws AssertionError if the actual group is {@code null} * @throws NullPointerException if the given {@code Iterable} is {@code null} * @throws AssertionError if the actual {@code Iterable} does not have the same elements, in any order, as the given * {@code Iterable} */ @Override public SELF hasSameElementsAs(Iterable<? extends ELEMENT> iterable) { return containsOnlyElementsOf(iterable); }
/** * An alias of {@link #containsOnlyElementsOf(Iterable)} : verifies that actual contains all elements of the * given {@code Iterable} and nothing else, <b>in any order</b>. * <p> * Example: * <pre><code class='java'> Ring[] elvesRings = {vilya, nenya, narya}; * * // assertions will pass: * assertThat(elvesRings).hasSameElementsAs(newArrayList(nenya, narya, vilya)); * assertThat(elvesRings).hasSameElementsAs(newArrayList(nenya, narya, vilya, nenya)); * * // assertions will fail: * assertThat(elvesRings).hasSameElementsAs(newArrayList(nenya, narya)); * assertThat(elvesRings).hasSameElementsAs(newArrayList(nenya, narya, vilya, oneRing));</code></pre> * * @param iterable the {@code Iterable} whose elements we expect to be present * @return this assertion object * @throws AssertionError if the actual array is {@code null} * @throws NullPointerException if the given {@code Iterable} is {@code null} * @throws AssertionError if the actual {@code Iterable} does not have the same elements, in any order, as the given * {@code Iterable} */ @Override public SELF hasSameElementsAs(Iterable<? extends ELEMENT> iterable) { return containsOnlyElementsOf(iterable); }
@Test public void testMapping() { assertThat(tested.manageClass(UnitTestPerson.class)) .containsOnlyElementsOf(Arrays.asList("dn", "cn", "sn", "description", "telephoneNumber", "entryUUID", "objectclass")); DefaultObjectDirectoryMapper.EntityData entityData = tested.getMetaDataMap().get(UnitTestPerson.class); assertThat(entityData).isNotNull(); assertThat(entityData.ocFilter).isEqualTo(query(). where("objectclass").is("inetOrgPerson") .and("objectclass").is("organizationalPerson") .and("objectclass").is("person") .and("objectclass").is("top") .filter()); assertThat(entityData.metaData).hasSize(8); AttributeMetaData idAttribute = entityData.metaData.getIdAttribute(); assertThat(idAttribute.getField().getName()).isEqualTo("dn"); assertThat(idAttribute.isId()).isTrue(); assertThat(idAttribute.isBinary()).isFalse(); assertThat(idAttribute.isDnAttribute()).isFalse(); assertThat(idAttribute.isTransient()).isFalse(); assertThat(idAttribute.isCollection()).isFalse(); assertField(entityData, "fullName", "cn", "cn", false, false, false, false); assertField(entityData, "lastName", "sn", null, false, false, false, false); assertField(entityData, "description", "description", null, false, false, true, false); assertField(entityData, "country", null, "c", false, true, false, false); assertField(entityData, "company", null, "ou", false, true, false, false); assertField(entityData, "telephoneNumber", "telephoneNumber", null, false, false, false, false); assertField(entityData, "entryUUID", "entryUUID", null, false, false, false, true); }