using System.Collections.Generic;
using NUnit.Framework;
using System.Net.Http.Headers;
+using System.Linq;
namespace MonoTests.System.Net.Http.Headers
{
} catch (ArgumentException) {
}
}
+
+ [Test]
+ public void Clear ()
+ {
+ headers.Add ("aa", "value");
+ headers.Clear ();
+ }
+
+ [Test]
+ public void GetEnumerator ()
+ {
+ headers.Add ("aa", "value");
+ int i = 0;
+ foreach (var entry in headers) {
+ ++i;
+ Assert.AreEqual ("aa", entry.Key);
+ var values = entry.Value.ToList ();
+ Assert.AreEqual (1, values.Count);
+ Assert.AreEqual ("value", values[0]);
+ }
+
+ Assert.AreEqual (1, i, "#10");
+ }
+
+ [Test]
+ public void GetValues ()
+ {
+ headers.Add ("aa", "v");
+ headers.Add ("aa", "v");
+
+ var r = headers.GetValues ("aa").ToList ();
+ Assert.AreEqual ("v", r[0], "#1");
+ Assert.AreEqual ("v", r[1], "#2");
+ }
+
+ [Test]
+ public void GetValues_Invalid ()
+ {
+ try {
+ headers.GetValues (null);
+ Assert.Fail ("#1");
+ } catch (ArgumentException) {
+ }
+
+ try {
+ headers.GetValues (" ");
+ Assert.Fail ("#2");
+ } catch (FormatException) {
+ }
+
+ try {
+ headers.GetValues ("x");
+ Assert.Fail ("#3");
+ } catch (InvalidOperationException) {
+ }
+ }
+
+ [Test]
+ public void TryGetValuesTest ()
+ {
+ IEnumerable<string> headerValues;
+ Assert.IsFalse (headers.TryGetValues (null, out headerValues), "#1");
+ Assert.IsFalse (headers.TryGetValues ("some-name", out headerValues), "#2");
+ }
+
+ [Test]
+ public void ToStringTest ()
+ {
+ headers.Add ("aa", "v");
+ headers.Add ("aa", "v");
+ headers.Add ("x", "v");
+
+ Assert.AreEqual ("aa: v, v\r\nx: v\r\n", headers.ToString ());
+ }
}
}