*/
@Test
public void testAux() throws ParseException
{
String value = null;
DitContentRule ditContentRule = null;
// no AUX
value = "( 1.1 )";
ditContentRule = parser.parseDITContentRuleDescription( value );
assertEquals( 0, ditContentRule.getAuxObjectClassOids().size() );
// AUX simple numericoid
value = "( 1.1 AUX 1.2.3 )";
ditContentRule = parser.parseDITContentRuleDescription( value );
assertEquals( 1, ditContentRule.getAuxObjectClassOids().size() );
assertEquals( "1.2.3", ditContentRule.getAuxObjectClassOids().get( 0 ) );
// AUX simple descr
value = "( 1.1 AUX top )";
ditContentRule = parser.parseDITContentRuleDescription( value );
assertEquals( 1, ditContentRule.getAuxObjectClassOids().size() );
assertEquals( "top", ditContentRule.getAuxObjectClassOids().get( 0 ) );
// AUX single numericoid
value = "( 1.1 AUX ( 1.2.3.4.5 ) )";
ditContentRule = parser.parseDITContentRuleDescription( value );
assertEquals( 1, ditContentRule.getAuxObjectClassOids().size() );
assertEquals( "1.2.3.4.5", ditContentRule.getAuxObjectClassOids().get( 0 ) );
// AUX single descr
value = "( 1.1 AUX ( A-Z-0-9 ) )";
ditContentRule = parser.parseDITContentRuleDescription( value );
assertEquals( 1, ditContentRule.getAuxObjectClassOids().size() );
assertEquals( "A-Z-0-9", ditContentRule.getAuxObjectClassOids().get( 0 ) );
// AUX multi numericoid
value = "( 1.1 AUX ( 1.2.3 $ 1.2.3.4.5 ) )";
ditContentRule = parser.parseDITContentRuleDescription( value );
assertEquals( 2, ditContentRule.getAuxObjectClassOids().size() );
assertEquals( "1.2.3", ditContentRule.getAuxObjectClassOids().get( 0 ) );
assertEquals( "1.2.3.4.5", ditContentRule.getAuxObjectClassOids().get( 1 ) );
// AUX multi descr
value = "( 1.1 AUX ( top1 $ top2 ) )";
ditContentRule = parser.parseDITContentRuleDescription( value );
assertEquals( 2, ditContentRule.getAuxObjectClassOids().size() );
assertEquals( "top1", ditContentRule.getAuxObjectClassOids().get( 0 ) );
assertEquals( "top2", ditContentRule.getAuxObjectClassOids().get( 1 ) );
// AUX multi mixed
value = "( 1.1 AUX ( top1 $ 1.2.3.4 $ top2 ) )";
ditContentRule = parser.parseDITContentRuleDescription( value );
assertEquals( 3, ditContentRule.getAuxObjectClassOids().size() );
assertEquals( "top1", ditContentRule.getAuxObjectClassOids().get( 0 ) );
assertEquals( "1.2.3.4", ditContentRule.getAuxObjectClassOids().get( 1 ) );
assertEquals( "top2", ditContentRule.getAuxObjectClassOids().get( 2 ) );
// AUX multi mixed no space
value = "(1.1 AUX(TOP-1$1.2.3.4$TOP-2))";
ditContentRule = parser.parseDITContentRuleDescription( value );
assertEquals( 3, ditContentRule.getAuxObjectClassOids().size() );
assertEquals( "TOP-1", ditContentRule.getAuxObjectClassOids().get( 0 ) );
assertEquals( "1.2.3.4", ditContentRule.getAuxObjectClassOids().get( 1 ) );
assertEquals( "TOP-2", ditContentRule.getAuxObjectClassOids().get( 2 ) );
// AUX multi mixed many spaces
value = "( 1.1 AUX ( top1 $ 1.2.3.4$top2 ) )";
ditContentRule = parser.parseDITContentRuleDescription( value );
assertEquals( 3, ditContentRule.getAuxObjectClassOids().size() );
assertEquals( "top1", ditContentRule.getAuxObjectClassOids().get( 0 ) );
assertEquals( "1.2.3.4", ditContentRule.getAuxObjectClassOids().get( 1 ) );
assertEquals( "top2", ditContentRule.getAuxObjectClassOids().get( 2 ) );
// no quote allowed
value = "( 1.1 AUX 'top' )";
ditContentRule = parser.parseDITContentRuleDescription( value );
assertEquals( 1, ditContentRule.getAuxObjectClassOids().size() );
assertEquals( "top", ditContentRule.getAuxObjectClassOids().get( 0 ) );
// quoted value
value = "( 1.1 AUX '1.2.3.4' )";
ditContentRule = parser.parseDITContentRuleDescription( value );
assertEquals( 1, ditContentRule.getAuxObjectClassOids().size() );
assertEquals( "1.2.3.4", ditContentRule.getAuxObjectClassOids().get( 0 ) );
// no $ separator
value = "( 1.1 AUX ( top1 top2 ) )";
ditContentRule = parser.parseDITContentRuleDescription( value );
assertEquals( 2, ditContentRule.getAuxObjectClassOids().size() );
assertEquals( "top1", ditContentRule.getAuxObjectClassOids().get( 0 ) );
assertEquals( "top2", ditContentRule.getAuxObjectClassOids().get( 1 ) );
// invalid character
value = "( 1.1 AUX 1.2.3.4.A )";
try
{