public class AddressTestCase extends TestCase {
@Test
public void testParsing() throws Exception {
String str = "Anonymous <sip:c8oqz84zk7z@privacy.org>;tag=hyh8";
AddressReader r = new AddressReader(str);
Address a = r.readValue();
assertEquals("Anonymous", a.getDisplayName());
assertEquals("sip:c8oqz84zk7z@privacy.org", a.getReference().toString());
assertEquals(1, a.getParameters().size());
Parameter parameter = a.getParameters().get(0);
assertEquals("tag", parameter.getName());
assertEquals("hyh8", parameter.getValue());
str = "sip:+12125551212@server.phone2net.com;tag=887s";
r = new AddressReader(str);
a = r.readValue();
assertNull(a.getDisplayName());
assertEquals("sip:+12125551212@server.phone2net.com", a.getReference()
.toString());
assertEquals(1, a.getParameters().size());
parameter = a.getParameters().get(0);
assertEquals("tag", parameter.getName());
assertEquals("887s", parameter.getValue());
str = "\"A. G. Bell\" <sip:agb@bell-telephone.com> ;tag=a48s";
r = new AddressReader(str);
a = r.readValue();
assertEquals("A. G. Bell", a.getDisplayName());
assertEquals("sip:agb@bell-telephone.com", a.getReference().toString());
assertEquals(1, a.getParameters().size());
parameter = a.getParameters().get(0);
assertEquals("tag", parameter.getName());
assertEquals("a48s", parameter.getValue());
str = "A. G. Bell <sip:agb@bell-telephone.com> ;tag=a48s";
r = new AddressReader(str);
a = r.readValue();
r = new AddressReader(str);
a = r.readValue();
assertEquals("A. G. Bell", a.getDisplayName());
assertEquals("sip:agb@bell-telephone.com", a.getReference().toString());
assertEquals(1, a.getParameters().size());
parameter = a.getParameters().get(0);
assertEquals("tag", parameter.getName());