Example #1
0
        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]);
        }