Assert.assertEquals("<l1> ::= <<arg1>>", new MuArgument("l1", "arg1", 0).format());
Assert.assertEquals("<*Start*> ::= 'hi'", new MuSymbol("hi").format());
Assert.assertEquals("<l1> ::= 'hi'", new MuSymbol("l1", "hi").format());
Assert.assertEquals("<*Start*> ::= 'hi' 'mum'", new MuSequence(new MuSymbol("hi"),
new MuSymbol("mum")).format());
Assert.assertEquals("<l1> ::= 'hi' 'mum'", new MuSequence("l1", new MuSymbol("hi"),
new MuSymbol("mum")).format());
Assert.assertEquals("<l1> ::= <l2> 'mum'\n<l2> ::= 'hi'", new MuSequence("l1",
new MuSymbol("l2", "hi"), new MuSymbol("mum")).format());
Assert.assertEquals("<*Start*> ::= ( 'hi' | 'mum' )", new MuAlternation(new MuSymbol("hi"),
new MuSymbol("mum")).format());
Assert.assertEquals("<*Start*> ::= ( 'hi' | )",