public void SipValue_Basic() { SipValue v = new SipValue(); string s; StringBuilder sb; Assert.AreEqual("", v.Text); Assert.AreEqual(0, v.Parameters.Count); Assert.IsNull(v["test"]); v.Text = "Hello"; Assert.AreEqual("Hello", v.Text); Assert.AreEqual(0, v.Parameters.Count); v["arg0"] = "hello0"; Assert.AreEqual("hello0", v["arg0"]); v["arg1"] = "hello1"; Assert.AreEqual("hello0", v["arg0"]); Assert.AreEqual("hello1", v["arg1"]); Assert.AreEqual("hello1", v["ARG1"]); Assert.IsNull(v["test"]); s = v.ToString(); Assert.IsTrue(s.StartsWith("Hello;")); Assert.IsTrue(s.IndexOf(";arg0=hello0") != -1); Assert.IsTrue(s.IndexOf(";arg1=hello1") != -1); sb = new StringBuilder(); v.Serialize(sb); s = sb.ToString(); Assert.IsTrue(s.StartsWith("Hello;")); Assert.IsTrue(s.IndexOf(";arg0=hello0") != -1); Assert.IsTrue(s.IndexOf(";arg1=hello1") != -1); v = new SipValue(s); v["arg1"] = "hello1"; Assert.AreEqual(2, v.Parameters.Count); Assert.AreEqual("hello0", v["arg0"]); Assert.AreEqual("hello1", v["arg1"]); Assert.IsNull(v["XXX"]); v = new SipValue("10"); Assert.AreEqual(10, v.IntValue); v.IntValue = 20; Assert.AreEqual("20", v.Text); v = new SipValue("Test;received=127.0.0.1;rport"); Assert.AreEqual("Test", v.Text); Assert.AreEqual("127.0.0.1", v["received"]); Assert.AreEqual("", v["rport"]); }
public void SipValue_Complex() { SipValue v; v = new SipValue("\"Jeff Lill\" <*****@*****.**>"); Assert.AreEqual("\"Jeff Lill\" <*****@*****.**>", v.Text); Assert.AreEqual(0, v.Parameters.Count); v = new SipValue("\"Jeff Lill\" <*****@*****.**>;hello=world"); Assert.AreEqual("\"Jeff Lill\" <*****@*****.**>", v.Text); Assert.AreEqual(1, v.Parameters.Count); Assert.AreEqual("world", v.Parameters["hello"]); v = new SipValue("\"Jeff Lill <*****@*****.**>"); Assert.AreEqual("\"Jeff Lill <*****@*****.**>", v.Text); Assert.AreEqual(0, v.Parameters.Count); v = new SipValue("\"Jeff Lill\" <*****@*****.**"); Assert.AreEqual("\"Jeff Lill\" <*****@*****.**", v.Text); Assert.AreEqual(0, v.Parameters.Count); v = new SipValue("\"Jeff \\\"The Lill\\\"\" <*****@*****.**>"); Assert.AreEqual("\"Jeff \\\"The Lill\\\"\" <*****@*****.**>", v.Text); Assert.AreEqual(0, v.Parameters.Count); v = new SipValue("\"Jeff;Lill\" <[email protected];transport=tcp>"); Assert.AreEqual("\"Jeff;Lill\" <[email protected];transport=tcp>", v.Text); Assert.AreEqual(0, v.Parameters.Count); v = new SipValue("\"Jeff;Lill\" <[email protected];transport=tcp>"); Assert.AreEqual("\"Jeff;Lill\" <[email protected];transport=tcp>", v.Text); Assert.AreEqual(0, v.Parameters.Count); v = new SipValue("\"Jeff;Lill\" <[email protected];transport=tcp>;hello=world"); Assert.AreEqual("\"Jeff;Lill\" <[email protected];transport=tcp>", v.Text); Assert.AreEqual(1, v.Parameters.Count); Assert.AreEqual("world", v.Parameters["hello"]); }