// replace
{ "postaladdress" },
// delete
{ "description" } } };
LdifEntry entry = entries.get( 0 );
assertTrue( entry.isChangeAdd() );
for ( int i = 0; i < values.length; i++ )
{
if ( "dn".equalsIgnoreCase( values[0][i][0] ) )
{
assertEquals( values[0][i][1], entry.getDn().getName() );
}
else if ( "jpegphoto".equalsIgnoreCase( values[0][i][0] ) )
{
Attribute attr = entry.get( values[0][i][0] );
assertEquals( Strings.dumpBytes( data ), Strings.dumpBytes( attr.getBytes() ) );
}
else
{
Attribute attr = entry.get( values[0][i][0] );
if ( attr.contains( values[0][i][1] ) )
{
assertTrue( true );
}
else
{
assertTrue( attr.contains( values[0][i][1].getBytes( "UTF-8" ) ) );
}
}
}
// Second entry
entry = entries.get( 1 );
assertTrue( entry.isChangeDelete() );
assertEquals( values[1][0][1], entry.getDn().getName() );
// Third entry
entry = entries.get( 2 );
assertTrue( entry.isChangeModRdn() );
assertEquals( values[2][0][1], entry.getDn().getName() );
assertEquals( values[2][1][0], entry.getNewRdn() );
assertTrue( entry.isDeleteOldRdn() );
// Forth entry
entry = entries.get( 3 );
assertTrue( entry.isChangeModDn() );
assertEquals( values[3][0][1], entry.getDn().getName() );
assertEquals( values[3][1][0], entry.getNewRdn() );
assertFalse( entry.isDeleteOldRdn() );
assertEquals( values[3][2][0], entry.getNewSuperior() );
// Fifth entry
entry = entries.get( 4 );
List<Modification> modifs = entry.getModifications();
assertTrue( entry.isChangeModify() );
assertEquals( values[4][0][1], entry.getDn().getName() );
// "add: postaladdress"
// "postaladdress: 123 Anystreet $ Sunnyvale, CA $ 94086"
Modification item = modifs.get( 0 );
assertEquals( ModificationOperation.ADD_ATTRIBUTE, item.getOperation() );
assertEquals( values[4][1][0], item.getAttribute().getId() );
assertTrue( item.getAttribute().contains( values[4][1][1] ) );
// "delete: description\n" +
item = modifs.get( 1 );
assertEquals( ModificationOperation.REMOVE_ATTRIBUTE, item.getOperation() );
assertEquals( values[4][2][0], item.getAttribute().getId() );
// "replace: telephonenumber"
// "telephonenumber: +1 408 555 1234"
// "telephonenumber: +1 408 555 5678"
item = modifs.get( 2 );
assertEquals( ModificationOperation.REPLACE_ATTRIBUTE, item.getOperation() );
assertEquals( values[4][3][0], item.getAttribute().getId() );
assertTrue( item.getAttribute().contains( values[4][3][1], values[4][3][2] ) );
// "delete: facsimiletelephonenumber"
// "facsimiletelephonenumber: +1 408 555 9876"
item = modifs.get( 3 );
assertEquals( ModificationOperation.REMOVE_ATTRIBUTE, item.getOperation() );
assertEquals( values[4][4][0], item.getAttribute().getId() );
assertTrue( item.getAttribute().contains( values[4][4][1] ) );
// Sixth entry
entry = entries.get( 5 );
modifs = entry.getModifications();
assertTrue( entry.isChangeModify() );
assertEquals( values[5][0][1], entry.getDn().getName() );
// "replace: postaladdress"
item = modifs.get( 0 );
assertEquals( ModificationOperation.REPLACE_ATTRIBUTE, item.getOperation() );
assertEquals( values[5][1][0], item.getAttribute().getId() );