public void GetEnumerator_AddValuesAndSpecialValue_AllValuesReturned() { MockHeaders headers = new MockHeaders(); HttpHeaderValueCollection <Uri> collection = new HttpHeaderValueCollection <Uri>(knownUriHeader, headers, specialValue); collection.Add(new Uri("http://www.example.org/1/")); collection.Add(new Uri("http://www.example.org/2/")); collection.SetSpecialValue(); collection.Add(new Uri("http://www.example.org/3/")); System.Collections.IEnumerable enumerable = collection; // The special value we added above, must be part of the collection returned by GetEnumerator(). int i = 1; bool specialFound = false; foreach (var item in enumerable) { if (item.Equals(specialValue)) { specialFound = true; } else { Assert.Equal(new Uri("http://www.example.org/" + i + "/"), item); i++; } } Assert.True(specialFound); Assert.True(collection.IsSpecialValueSet, "Special value not set."); }
public void GetEnumerator_AddValuesAndSpecialValueAndGetEnumeratorFromInterface_AllValuesReturned() { MockHeaders headers = new MockHeaders(knownHeader, new MockHeaderParser(typeof(Uri))); HttpHeaderValueCollection <Uri> collection = new HttpHeaderValueCollection <Uri>(knownHeader, headers, specialValue); collection.Add(new Uri("http://www.example.org/1/")); collection.Add(new Uri("http://www.example.org/2/")); collection.Add(new Uri("http://www.example.org/3/")); collection.SetSpecialValue(); System.Collections.IEnumerable enumerable = collection; // The "special value" should be ignored and not part of the resulting collection. int i = 1; bool specialFound = false; foreach (var item in enumerable) { if (item.Equals(specialValue)) { specialFound = true; } else { Assert.Equal(new Uri("http://www.example.org/" + i + "/"), item); i++; } } Assert.True(specialFound); Assert.True(collection.IsSpecialValueSet, "Special value not set."); }
public void RemoveSpecialValue_AddValueAndSpecialValueThenRemoveSpecialValue_SpecialValueGetsRemoved() { MockHeaders headers = new MockHeaders(); HttpHeaderValueCollection <Uri> collection = new HttpHeaderValueCollection <Uri>(knownUriHeader, headers, specialValue); collection.Add(new Uri("http://www.example.org/")); collection.SetSpecialValue(); Assert.True(collection.IsSpecialValueSet, "Special value not set."); Assert.Equal(2, headers.GetValues(knownUriHeader).Count()); collection.RemoveSpecialValue(); Assert.False(collection.IsSpecialValueSet, "Special value is set."); Assert.Equal(1, headers.GetValues(knownUriHeader).Count()); }
public void RemoveSpecialValue_AddRemoveSpecialValue_SpecialValueGetsRemoved() { MockHeaders headers = new MockHeaders(); HttpHeaderValueCollection <Uri> collection = new HttpHeaderValueCollection <Uri>(knownUriHeader, headers, specialValue); collection.SetSpecialValue(); Assert.True(collection.IsSpecialValueSet, "Special value not set."); Assert.Equal(1, headers.GetValues(knownUriHeader).Count()); collection.RemoveSpecialValue(); Assert.False(collection.IsSpecialValueSet, "Special value is set."); // Since the only header value was the "special value", removing it will remove the whole header // from the collection. Assert.False(headers.Contains(knownUriHeader)); }
public void CopyTo_OnlySpecialValueEmptyDestination_Copied() { MockHeaders headers = new MockHeaders(); HttpHeaderValueCollection <Uri> collection = new HttpHeaderValueCollection <Uri>(knownUriHeader, headers, specialValue); collection.SetSpecialValue(); headers.Add(knownUriHeader, specialValue.ToString()); Uri[] array = new Uri[2]; collection.CopyTo(array, 0); Assert.Equal(specialValue, array[0]); Assert.Equal(specialValue, array[1]); Assert.True(collection.IsSpecialValueSet, "Special value not set."); }
public void RemoveSpecialValue_AddTwoValuesAndSpecialValueThenRemoveSpecialValue_SpecialValueGetsRemoved() { MockHeaders headers = new MockHeaders(); HttpHeaderValueCollection <Uri> collection = new HttpHeaderValueCollection <Uri>(knownUriHeader, headers, specialValue); collection.Add(new Uri("http://www.example.org/1/")); collection.Add(new Uri("http://www.example.org/2/")); collection.SetSpecialValue(); Assert.True(collection.IsSpecialValueSet, "Special value not set."); Assert.Equal(3, headers.GetValues(knownUriHeader).Count()); // The difference between this test and the previous one is that HttpHeaders in this case will use // a List<T> to store the two remaining values, whereas in the previous case it will just store // the remaining value (no list). collection.RemoveSpecialValue(); Assert.False(collection.IsSpecialValueSet, "Special value is set."); Assert.Equal(2, headers.GetValues(knownUriHeader).Count()); }
public void Clear_AddValuesAndSpecialValueThenClear_EverythingCleared() { MockHeaders headers = new MockHeaders(); HttpHeaderValueCollection <Uri> collection = new HttpHeaderValueCollection <Uri>(knownUriHeader, headers, specialValue); collection.SetSpecialValue(); collection.Add(new Uri("http://www.example.org/1/")); collection.Add(new Uri("http://www.example.org/2/")); collection.Add(new Uri("http://www.example.org/3/")); Assert.Equal(4, collection.Count); Assert.True(collection.IsSpecialValueSet, "Special value not set."); collection.Clear(); Assert.Equal(0, collection.Count); Assert.False(collection.IsSpecialValueSet, "Special value was removed by Clear()."); }
public void CopyTo_AddValuesAndSpecialValue_AllValuesCopied() { MockHeaders headers = new MockHeaders(); HttpHeaderValueCollection <Uri> collection = new HttpHeaderValueCollection <Uri>(knownUriHeader, headers, specialValue); collection.Add(new Uri("http://www.example.org/1/")); collection.Add(new Uri("http://www.example.org/2/")); collection.SetSpecialValue(); collection.Add(new Uri("http://www.example.org/3/")); Uri[] array = new Uri[5]; collection.CopyTo(array, 1); Assert.Null(array[0]); Assert.Equal(new Uri("http://www.example.org/1/"), array[1]); Assert.Equal(new Uri("http://www.example.org/2/"), array[2]); Assert.Equal(specialValue, array[3]); Assert.Equal(new Uri("http://www.example.org/3/"), array[4]); Assert.True(collection.IsSpecialValueSet, "Special value not set."); }
public void CopyTo_OnlySpecialValue_Copied() { MockHeaders headers = new MockHeaders(knownHeader, new MockHeaderParser(typeof(Uri))); HttpHeaderValueCollection <Uri> collection = new HttpHeaderValueCollection <Uri>(knownHeader, headers, specialValue); collection.SetSpecialValue(); headers.Add(knownHeader, specialValue.ToString()); headers.Add(knownHeader, specialValue.ToString()); headers.Add(knownHeader, specialValue.ToString()); Uri[] array = new Uri[4]; array[0] = null; collection.CopyTo(array, 0); Assert.Equal(specialValue, array[0]); Assert.Equal(specialValue, array[1]); Assert.Equal(specialValue, array[2]); Assert.Equal(specialValue, array[3]); Assert.True(collection.IsSpecialValueSet, "Special value not set."); }
public void RemoveSpecialValue_AddTwoValuesAndSpecialValueThenRemoveSpecialValue_SpecialValueGetsRemoved() { MockHeaders headers = new MockHeaders(knownHeader, new MockHeaderParser(typeof(Uri))); HttpHeaderValueCollection<Uri> collection = new HttpHeaderValueCollection<Uri>(knownHeader, headers, specialValue); collection.Add(new Uri("http://www.example.org/1/")); collection.Add(new Uri("http://www.example.org/2/")); collection.SetSpecialValue(); Assert.True(collection.IsSpecialValueSet, "Special value not set."); Assert.Equal(3, headers.GetValues(knownHeader).Count()); // The difference between this test and the previous one is that HttpHeaders in this case will use // a List<T> to store the two remaining values, whereas in the previous case it will just store // the remaining value (no list). collection.RemoveSpecialValue(); Assert.False(collection.IsSpecialValueSet, "Special value is set."); Assert.Equal(2, headers.GetValues(knownHeader).Count()); }
public void RemoveSpecialValue_AddValueAndSpecialValueThenRemoveSpecialValue_SpecialValueGetsRemoved() { MockHeaders headers = new MockHeaders(knownHeader, new MockHeaderParser(typeof(Uri))); HttpHeaderValueCollection<Uri> collection = new HttpHeaderValueCollection<Uri>(knownHeader, headers, specialValue); collection.Add(new Uri("http://www.example.org/")); collection.SetSpecialValue(); Assert.True(collection.IsSpecialValueSet, "Special value not set."); Assert.Equal(2, headers.GetValues(knownHeader).Count()); collection.RemoveSpecialValue(); Assert.False(collection.IsSpecialValueSet, "Special value is set."); Assert.Equal(1, headers.GetValues(knownHeader).Count()); }
public void RemoveSpecialValue_AddRemoveSpecialValue_SpecialValueGetsRemoved() { MockHeaders headers = new MockHeaders(knownHeader, new MockHeaderParser(typeof(Uri))); HttpHeaderValueCollection<Uri> collection = new HttpHeaderValueCollection<Uri>(knownHeader, headers, specialValue); collection.SetSpecialValue(); Assert.True(collection.IsSpecialValueSet, "Special value not set."); Assert.Equal(1, headers.GetValues(knownHeader).Count()); collection.RemoveSpecialValue(); Assert.False(collection.IsSpecialValueSet, "Special value is set."); // Since the only header value was the "special value", removing it will remove the whole header // from the collection. Assert.False(headers.Contains(knownHeader)); }
public void GetEnumerator_AddValuesAndSpecialValue_AllValuesReturned() { MockHeaders headers = new MockHeaders(knownHeader, new MockHeaderParser(typeof(Uri))); HttpHeaderValueCollection<Uri> collection = new HttpHeaderValueCollection<Uri>(knownHeader, headers, specialValue); collection.Add(new Uri("http://www.example.org/1/")); collection.Add(new Uri("http://www.example.org/2/")); collection.SetSpecialValue(); collection.Add(new Uri("http://www.example.org/3/")); System.Collections.IEnumerable enumerable = collection; // The special value we added above, must be part of the collection returned by GetEnumerator(). int i = 1; bool specialFound = false; foreach (var item in enumerable) { if (item.Equals(specialValue)) { specialFound = true; } else { Assert.Equal(new Uri("http://www.example.org/" + i + "/"), item); i++; } } Assert.True(specialFound); Assert.True(collection.IsSpecialValueSet, "Special value not set."); }
public void CopyTo_OnlySpecialValueEmptyDestination_Copied() { MockHeaders headers = new MockHeaders(knownHeader, new MockHeaderParser(typeof(Uri))); HttpHeaderValueCollection<Uri> collection = new HttpHeaderValueCollection<Uri>(knownHeader, headers, specialValue); collection.SetSpecialValue(); headers.Add(knownHeader, specialValue.ToString()); Uri[] array = new Uri[2]; collection.CopyTo(array, 0); Assert.Equal(specialValue, array[0]); Assert.Equal(specialValue, array[1]); Assert.True(collection.IsSpecialValueSet, "Special value not set."); }
public void CopyTo_AddValuesAndSpecialValue_AllValuesCopied() { MockHeaders headers = new MockHeaders(knownHeader, new MockHeaderParser(typeof(Uri))); HttpHeaderValueCollection<Uri> collection = new HttpHeaderValueCollection<Uri>(knownHeader, headers, specialValue); collection.Add(new Uri("http://www.example.org/1/")); collection.Add(new Uri("http://www.example.org/2/")); collection.SetSpecialValue(); collection.Add(new Uri("http://www.example.org/3/")); Uri[] array = new Uri[5]; collection.CopyTo(array, 1); Assert.Null(array[0]); Assert.Equal(new Uri("http://www.example.org/1/"), array[1]); Assert.Equal(new Uri("http://www.example.org/2/"), array[2]); Assert.Equal(specialValue, array[3]); Assert.Equal(new Uri("http://www.example.org/3/"), array[4]); Assert.True(collection.IsSpecialValueSet, "Special value not set."); }
public void Clear_AddValuesAndSpecialValueThenClear_EverythingCleared() { MockHeaders headers = new MockHeaders(knownHeader, new MockHeaderParser(typeof(Uri))); HttpHeaderValueCollection<Uri> collection = new HttpHeaderValueCollection<Uri>(knownHeader, headers, specialValue); collection.SetSpecialValue(); collection.Add(new Uri("http://www.example.org/1/")); collection.Add(new Uri("http://www.example.org/2/")); collection.Add(new Uri("http://www.example.org/3/")); Assert.Equal(4, collection.Count); Assert.True(collection.IsSpecialValueSet, "Special value not set."); collection.Clear(); Assert.Equal(0, collection.Count); Assert.False(collection.IsSpecialValueSet, "Special value was removed by Clear()."); }