public class SipRecipientInfoTestCase extends TestCase {
@Test
public void testParsing() throws Exception {
String str = "SIP/2.0/UDP 192.0.2.1:5060 ;received=192.0.2.207;branch=z9hG4bK77asjd";
SipRecipientInfoReader r = new SipRecipientInfoReader(str);
SipRecipientInfo s = r.readValue();
assertEquals(Protocol.SIP, s.getProtocol());
assertEquals("UDP", s.getTransport());
assertEquals("192.0.2.1:5060", s.getName());
assertEquals(2, s.getParameters().size());
Parameter parameter = s.getParameters().get(0);
assertEquals("received", parameter.getName());
assertEquals("192.0.2.207", parameter.getValue());
parameter = s.getParameters().get(1);
assertEquals("branch", parameter.getName());
assertEquals("z9hG4bK77asjd", parameter.getValue());
assertNull(s.getComment());
str = "SIP/2.0/UDP 192.0.2.1:5060 ;received=192.0.2.207;branch=z9hG4bK77asjd (this is a comment)";
r = new SipRecipientInfoReader(str);
s = r.readValue();
assertEquals(Protocol.SIP, s.getProtocol());
assertEquals("UDP", s.getTransport());
assertEquals("192.0.2.1:5060", s.getName());
assertEquals(2, s.getParameters().size());
parameter = s.getParameters().get(0);
assertEquals("received", parameter.getName());
assertEquals("192.0.2.207", parameter.getValue());
parameter = s.getParameters().get(1);
assertEquals("branch", parameter.getName());
assertEquals("z9hG4bK77asjd", parameter.getValue());
assertEquals("this is a comment", s.getComment());
str = "SIP/2.0/TCP 127.0.0.1:5061;branch=z9hG4bK-6503-1-0";
r = new SipRecipientInfoReader(str);
s = r.readValue();
assertEquals(Protocol.SIP, s.getProtocol());
assertEquals("TCP", s.getTransport());
assertEquals("127.0.0.1:5061", s.getName());
assertEquals(1, s.getParameters().size());
parameter = s.getParameters().get(0);
assertEquals("branch", parameter.getName());
assertEquals("z9hG4bK-6503-1-0", parameter.getValue());
str = "SIP/2.0/TCP [fe80::223:dfff:fe7f:7b1a%en0]:5061;branch=z9hG4bK-409-1-0";
r = new SipRecipientInfoReader(str);
s = r.readValue();
assertEquals(Protocol.SIP, s.getProtocol());
assertEquals("TCP", s.getTransport());
assertEquals("[fe80::223:dfff:fe7f:7b1a%en0]:5061", s.getName());
assertEquals(1, s.getParameters().size());