本文整理汇总了C#中MockHeaders.Add方法的典型用法代码示例。如果您正苦于以下问题:C# MockHeaders.Add方法的具体用法?C# MockHeaders.Add怎么用?C# MockHeaders.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MockHeaders
的用法示例。
在下文中一共展示了MockHeaders.Add方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Count_AddMultipleValuesThenQueryCount_ReturnsValueCountWithSpecialValues
public void Count_AddMultipleValuesThenQueryCount_ReturnsValueCountWithSpecialValues()
{
MockHeaders headers = new MockHeaders(knownHeader, new MockHeaderParser(typeof(string)));
HttpHeaderValueCollection<string> collection = new HttpHeaderValueCollection<string>(knownHeader, headers,
"special");
Assert.Equal(0, collection.Count);
collection.Add("value1");
headers.Add(knownHeader, "special");
Assert.Equal(2, collection.Count);
headers.Add(knownHeader, "special");
headers.Add(knownHeader, "value2");
headers.Add(knownHeader, "special");
Assert.Equal(5, collection.Count);
}
示例2: AddHeaders_DestinationHasEmptyHeaderStore_DestinationHeaderStoreGetsCreatedAndValuesAdded
public void AddHeaders_DestinationHasEmptyHeaderStore_DestinationHeaderStoreGetsCreatedAndValuesAdded()
{
Dictionary<string, HttpHeaderParser> parserStore = new Dictionary<string, HttpHeaderParser>();
parserStore.Add("known1", new MockHeaderParser());
MockHeaders source = new MockHeaders(parserStore);
source.Add("known1", rawPrefix);
MockHeaders destination = new MockHeaders(parserStore);
destination.AddHeaders(source);
Assert.Equal(1, destination.Count());
}
示例3: CopyTo_ArrayTooSmall_Throw
public void CopyTo_ArrayTooSmall_Throw()
{
MockHeaders headers = new MockHeaders(knownHeader, new MockHeaderParser(typeof(string)));
HttpHeaderValueCollection<string> collection = new HttpHeaderValueCollection<string>(knownHeader, headers,
"special");
string[] array = new string[1];
array[0] = null;
collection.CopyTo(array, 0); // no exception
Assert.Null(array[0]);
Assert.Throws<ArgumentNullException>(() => { collection.CopyTo(null, 0); });
Assert.Throws<ArgumentOutOfRangeException>(() => { collection.CopyTo(array, -1); });
Assert.Throws<ArgumentOutOfRangeException>(() => { collection.CopyTo(array, 2); });
headers.Add(knownHeader, "special");
array = new string[0];
Assert.Throws<ArgumentException>(() => { collection.CopyTo(array, 0); });
headers.Add(knownHeader, "special");
headers.Add(knownHeader, "special");
array = new string[1];
Assert.Throws<ArgumentException>(() => { collection.CopyTo(array, 0); });
headers.Add(knownHeader, "value1");
array = new string[0];
Assert.Throws<ArgumentException>(() => { collection.CopyTo(array, 0); });
headers.Add(knownHeader, "value2");
array = new string[1];
Assert.Throws<ArgumentException>(() => { collection.CopyTo(array, 0); });
array = new string[2];
Assert.Throws<ArgumentException>(() => { collection.CopyTo(array, 1); });
}
示例4: CopyTo_AddSingleValue_ContainsSingleValue
public void CopyTo_AddSingleValue_ContainsSingleValue()
{
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/"));
Uri[] array = new Uri[1];
collection.CopyTo(array, 0);
Assert.Equal(new Uri("http://www.example.org/"), array[0]);
// Now only set the special value: nothing should be added to the array.
headers.Clear();
headers.Add(knownHeader, specialValue.ToString());
array[0] = null;
collection.CopyTo(array, 0);
Assert.Equal(specialValue, array[0]);
}
示例5: RemoveParsedValue_AddTwoValuesAndRemoveSecondOne_FirstValueRemains
public void RemoveParsedValue_AddTwoValuesAndRemoveSecondOne_FirstValueRemains()
{
MockHeaders headers = new MockHeaders();
headers.Add(knownHeader, rawPrefix + "1");
headers.Add(knownHeader, rawPrefix + "2");
// Remove the parsed value (note the original string 'raw2' was "parsed" to 'parsed2')
Assert.True(headers.RemoveParsedValue(knownHeader, parsedPrefix + "2"));
Assert.Equal(2, headers.Parser.TryParseValueCallCount);
// Note that when the last value of a header gets removed, the whole header gets removed.
Assert.Equal(1, headers.Count());
Assert.Equal(1, headers.First().Value.Count());
Assert.Equal(parsedPrefix + "1", headers.First().Value.ElementAt(0));
Assert.Equal(2, headers.Parser.TryParseValueCallCount);
}
示例6: RemoveParsedValue_AddValueAndRemoveIt_NoHeader
public void RemoveParsedValue_AddValueAndRemoveIt_NoHeader()
{
MockHeaders headers = new MockHeaders();
headers.Add(knownHeader, rawPrefix + "1");
// Remove the parsed value (note the original string 'raw1' was "parsed" to 'parsed1')
Assert.True(headers.RemoveParsedValue(knownHeader, parsedPrefix + "1"));
Assert.Equal(1, headers.Parser.TryParseValueCallCount);
// Note that when the last value of a header gets removed, the whole header gets removed.
Assert.Equal(0, headers.Count());
Assert.Equal(1, headers.Parser.TryParseValueCallCount);
// Remove the value again: It shouldn't be found in the store.
Assert.False(headers.RemoveParsedValue(knownHeader, parsedPrefix + "1"));
}
示例7: Add_SingleAddHeadersWithDifferentCasing_ConsideredTheSameHeader
public void Add_SingleAddHeadersWithDifferentCasing_ConsideredTheSameHeader()
{
MockHeaders headers = new MockHeaders();
headers.Add("custom-header", "value1");
headers.Add("Custom-Header", "value2");
headers.Add("CUSTOM-HEADER", "value2");
Assert.Equal(3, headers.GetValues("custom-header").Count());
Assert.Equal(3, headers.GetValues("Custom-Header").Count());
Assert.Equal(3, headers.GetValues("CUSTOM-HEADER").Count());
Assert.Equal(3, headers.GetValues("CuStOm-HeAdEr").Count());
}
示例8: Add_MultipleAddNullValueCollection_Throw
public void Add_MultipleAddNullValueCollection_Throw()
{
MockHeaders headers = new MockHeaders();
string[] values = null;
Assert.Throws<ArgumentNullException>(() => { headers.Add(knownHeader, values); });
}
示例9: Add_MultipleAddValidValueThenAddInvalidValuesToExistingHeader_ThrowAndDontAddHeader
public void Add_MultipleAddValidValueThenAddInvalidValuesToExistingHeader_ThrowAndDontAddHeader()
{
MockHeaders headers = new MockHeaders();
headers.Add(knownHeader, rawPrefix + "1");
Assert.Throws<FormatException>(() => { headers.Add(knownHeader, new string[] { rawPrefix + "2", invalidHeaderValue }); });
// Make sure the header did not get removed due to the failed add. Note that the first value in the array
// is valid, so it gets added. I.e. we have 2 values.
Assert.True(headers.Contains(knownHeader), "Header was removed even if there is a valid header value.");
Assert.Equal(2, headers.First().Value.Count());
Assert.Equal(parsedPrefix + "1", headers.First().Value.ElementAt(0));
Assert.Equal(parsedPrefix + "2", headers.First().Value.ElementAt(1));
}
示例10: Add_MultipleAddInvalidValuesToNonExistingHeader_ThrowAndDontAddHeader
public void Add_MultipleAddInvalidValuesToNonExistingHeader_ThrowAndDontAddHeader()
{
MockHeaders headers = new MockHeaders();
Assert.Throws<FormatException>(() => { headers.Add(knownHeader, new string[] { invalidHeaderValue }); });
// Make sure the header did not get added since we just tried to add an invalid value.
Assert.False(headers.Contains(knownHeader), "Header was added even if we just added an invalid value.");
}
示例11: Add_SingleAddValidValueThenAddInvalidValue_ThrowAndHeaderContainsValidValue
public void Add_SingleAddValidValueThenAddInvalidValue_ThrowAndHeaderContainsValidValue()
{
MockHeaders headers = new MockHeaders();
headers.Add(knownHeader, rawPrefix);
Assert.Throws<FormatException>(() => { headers.Add(knownHeader, invalidHeaderValue); });
// Make sure the header did not get removed due to the failed add.
Assert.True(headers.Contains(knownHeader), "Header was removed even if there is a valid header value.");
Assert.Equal(1, headers.First().Value.Count());
Assert.Equal(parsedPrefix, headers.First().Value.ElementAt(0));
}
示例12: Add_SingleAddInvalidValueToNonExistingHeader_ThrowAndDontAddHeader
public void Add_SingleAddInvalidValueToNonExistingHeader_ThrowAndDontAddHeader()
{
// Since Add() immediately parses the value, it will throw an exception if the value is invalid.
MockHeaders headers = new MockHeaders();
Assert.Throws<FormatException>(() => { headers.Add(knownHeader, invalidHeaderValue); });
// Make sure the header did not get added to the store.
Assert.False(headers.Contains(knownHeader),
"No header expected to be added since header value was invalid.");
}
示例13: Add_SingleAddEmptyValueMultipleTimes_EmptyHeaderAdded
public void Add_SingleAddEmptyValueMultipleTimes_EmptyHeaderAdded()
{
MockHeaders headers = new MockHeaders();
headers.Add(knownHeader, (string)null);
headers.Add(knownHeader, string.Empty);
headers.Add(knownHeader, string.Empty);
// Add() should trigger parsing.
Assert.Equal(3, headers.Parser.TryParseValueCallCount);
Assert.Equal(0, headers.Count());
}
示例14: Add_SingleAddValidValue_ValueParsedCorrectly
public void Add_SingleAddValidValue_ValueParsedCorrectly()
{
MockHeaders headers = new MockHeaders();
headers.Add(knownHeader, rawPrefix);
// Add() should trigger parsing.
Assert.Equal(1, headers.Parser.TryParseValueCallCount);
Assert.Equal(1, headers.Count());
Assert.Equal(1, headers.First().Value.Count());
Assert.Equal(parsedPrefix, headers.First().Value.ElementAt(0));
// Value is already parsed. There shouldn't be additional calls to the parser.
Assert.Equal(1, headers.Parser.TryParseValueCallCount);
}
示例15: Add_SingleUseNullHeaderName_Throw
public void Add_SingleUseNullHeaderName_Throw()
{
MockHeaders headers = new MockHeaders();
Assert.Throws<ArgumentException>(() => { headers.Add(null, "value"); });
}