public void TestHeaderMultiValues() { var mh = new MsgHeader(); mh.Add("foo", "bar"); mh.Add("foo", "baz"); Assert.Equal("bar,baz", mh["foo"]); // Test the GetValues API, don't make assumpions about // order. string [] values = mh.GetValues("foo"); Assert.True(values.Length == 2); List <string> results = new List <string>(values); Assert.Contains("bar", results); Assert.Contains("baz", results); byte[] bytes = mh.ToByteArray(); var mh2 = new MsgHeader(bytes, bytes.Length); Assert.Equal("bar,baz", mh2["foo"]); // test the API on a single value key mh = new MsgHeader(); mh["foo"] = "bar"; values = mh.GetValues("foo"); Assert.True(values.Length == 1); Assert.Equal("bar", values[0]); }