public void RemoveParsedValue_ParserWithNoEqualityComparer_CaseSensitiveComparison() { CustomTypeHeaders headers = new CustomTypeHeaders("noComparerHeader", new NoComparerHeaderParser()); headers.AddParsedValue("noComparerHeader", "lowercasevalue"); // Since we don't provide a comparer, the default string.Equals() is called which is case-sensitive. So // the following call should return false. Assert.False(headers.RemoveParsedValue("noComparerHeader", "LOWERCASEVALUE")); // Now we try to remove the value using the correct casing. This should work. Assert.True(headers.RemoveParsedValue("noComparerHeader", "lowercasevalue")); // Note that when the last value of a header gets removed, the whole header gets removed. Assert.Equal(0, headers.Count()); }
public void AddParsedValue_AddTwoValuesToNonExistingHeader_HeaderGetsCreatedAndValuesAdded() { Uri headerValue1 = new Uri("http://example.org/1/"); Uri headerValue2 = new Uri("http://example.org/2/"); CustomTypeHeaders headers = new CustomTypeHeaders("myheader", new CustomTypeHeaderParser()); headers.AddParsedValue("myheader", headerValue1); // Adding a second value will cause a List<T> to be created in order to store values. If we just add // one value, no List<T> is created, but the header is just added as store value. headers.AddParsedValue("myheader", headerValue2); Assert.True(headers.Contains("myheader"), "Store doesn't have the header after adding a value to it."); Assert.Equal(2, headers.GetValues("myheader").Count()); Assert.Equal(headerValue1.ToString(), headers.First().Value.ElementAt(0)); Assert.Equal(headerValue2.ToString(), headers.First().Value.ElementAt(1)); }
public void ContainsParsedValue_ParserWithNoEqualityComparer_CaseSensitiveComparison() { CustomTypeHeaders headers = new CustomTypeHeaders("noComparerHeader", new NoComparerHeaderParser()); headers.AddParsedValue("noComparerHeader", "lowercasevalue"); // Since we don't provide a comparer, the default string.Equals() is called which is case-sensitive. So // the following call should return false. Assert.False(headers.ContainsParsedValue("noComparerHeader", "LOWERCASEVALUE")); // Now we try to use the correct casing. This should return true. Assert.True(headers.ContainsParsedValue("noComparerHeader", "lowercasevalue")); }
public void AddParsedValue_AddValueTypeValueToNonExistingHeader_HeaderGetsCreatedAndBoxedValueAdded() { int headerValue = 5; CustomTypeHeaders headers = new CustomTypeHeaders("myheader", new CustomTypeHeaderParser()); headers.AddParsedValue("myheader", headerValue); Assert.True(headers.Contains("myheader"), "Store doesn't have the header after adding a value to it."); Assert.Equal(headerValue.ToString(), headers.First().Value.ElementAt(0)); }