Ejemplo n.º 1
0
        public void GetAndRemove()
        {
            TestDefaultHeaders headers = NewInstance();

            headers.Add(Of("name1"), Of("value1"));
            headers.Add(Of("name2"), new [] { Of("value2"), Of("value3") });
            headers.Add(Of("name3"), new [] { Of("value4"), Of("value5"), Of("value6") });

            Assert.Equal(Of("value1"), headers.GetAndRemove(Of("name1"), Of("defaultvalue")));
            Assert.True(headers.TryGetAndRemove(Of("name2"), out ICharSequence value));
            Assert.Equal(Of("value2"), value);
            Assert.False(headers.TryGetAndRemove(Of("name2"), out value));
            Assert.Null(value);
            Assert.True(new [] { Of("value4"), Of("value5"), Of("value6") }.SequenceEqual(headers.GetAllAndRemove(Of("name3"))));
            Assert.Equal(0, headers.Size);
            Assert.False(headers.TryGetAndRemove(Of("noname"), out value));
            Assert.Null(value);
            Assert.Equal(Of("defaultvalue"), headers.GetAndRemove(Of("noname"), Of("defaultvalue")));
        }