*/
@Test
public void testAddAtStringElipsis() throws Exception
{
Dn dn = new Dn( schemaManager, "cn=test" );
DefaultEntry entry = new DefaultEntry( schemaManager, dn );
// Test that we can't inject a null AT
try
{
entry.add( ( AttributeType ) null, "test" );
fail();
}
catch ( IllegalArgumentException iae )
{
// Expected
}
// Test a simple addition
entry.add( atEMail, "test1" );
assertNotNull( entry.get( atEMail ) );
assertEquals( 1, entry.get( atEMail ).size() );
assertEquals( "test1", entry.get( atEMail ).get().getString() );
// Test some more addition
entry.add( atEMail, "test2", "test3" );
assertNotNull( entry.get( atEMail ) );
assertEquals( 3, entry.get( atEMail ).size() );
assertTrue( entry.contains( atEMail, "test1" ) );
assertTrue( entry.contains( atEMail, "test2" ) );
assertTrue( entry.contains( atEMail, "test3" ) );
// Test some addition of existing values
entry.add( atEMail, "test2" );
assertNotNull( entry.get( atEMail ) );
assertEquals( 3, entry.get( atEMail ).size() );
assertTrue( entry.contains( atEMail, "test1" ) );
assertTrue( entry.contains( atEMail, "test2" ) );
assertTrue( entry.contains( atEMail, "test3" ) );
// Test the addition of a null value
entry.add( atEMail, ( String ) null );
assertNotNull( entry.get( atEMail ) );
assertEquals( 4, entry.get( atEMail ).size() );
assertTrue( entry.contains( atEMail, "test1" ) );
assertTrue( entry.contains( atEMail, "test2" ) );
assertTrue( entry.contains( atEMail, "test3" ) );
assertTrue( entry.contains( atEMail, ( String ) null ) );
entry.clear();
// Test the addition of a binary value
byte[] test4 = Strings.getBytesUtf8( "test4" );
entry.add( atCN, test4 );
assertFalse( entry.get( atCN ).contains( test4 ) );
}