/* See LICENSE for licensing and NOTICE for copyright. */
package org.ldaptive.schema;
import java.util.Collections;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
/**
* Unit tests for {@link NameForm}.
*
* @author Middleware Services
*/
public class NameFormTest
{
/**
* Test data for name form.
*
* @return name form and string definition
*/
@DataProvider(name = "definitions")
public Object[][] createDefinitions()
{
return
new Object[][] {
new Object[] {
new NameForm("1.3.6.1.1.10.15.1", null, null, false, null, null, null, null),
"( 1.3.6.1.1.10.15.1 )",
},
new Object[] {
new NameForm(
"1.3.6.1.1.10.15.1",
new String[] {"uddiBusinessEntityNameForm"},
null,
false,
null,
null,
null,
null),
"( 1.3.6.1.1.10.15.1 NAME 'uddiBusinessEntityNameForm' )",
},
new Object[] {
new NameForm(
"1.3.6.1.1.10.15.1",
new String[] {"uddiBusinessEntityNameForm"},
null,
false,
"uddiBusinessEntity",
null,
null,
null),
"( 1.3.6.1.1.10.15.1 NAME 'uddiBusinessEntityNameForm' OC uddiBusinessEntity )",
},
new Object[] {
new NameForm(
"1.3.6.1.1.10.15.1",
new String[] {"uddiBusinessEntityNameForm"},
null,
false,
"uddiBusinessEntity",
new String[] {"uddiBusinessKey"},
null,
null),
"( 1.3.6.1.1.10.15.1 NAME 'uddiBusinessEntityNameForm' OC uddiBusinessEntity MUST uddiBusinessKey )",
},
new Object[] {
new NameForm(
"1.3.6.1.1.10.15.1",
new String[] {"uddiBusinessEntityNameForm"},
null,
false,
"uddiBusinessEntity",
new String[] {"uddiBusinessKey"},
null,
new Extensions("X-ORIGIN", Collections.singletonList("RFC 4403"))),
"( 1.3.6.1.1.10.15.1 NAME 'uddiBusinessEntityNameForm' OC uddiBusinessEntity MUST uddiBusinessKey " +
"X-ORIGIN 'RFC 4403' )",
},
};
}
/**
* @param nameForm to compare
* @param definition to parse
*
* @throws Exception On test failure.
*/
@Test(groups = {"schema"}, dataProvider = "definitions")
public void parse(final NameForm nameForm, final String definition)
throws Exception
{
final NameForm parsed = NameForm.parse(definition);
Assert.assertEquals(nameForm, parsed);
Assert.assertEquals(definition, parsed.format());
Assert.assertEquals(nameForm.format(), parsed.format());
}
}