public void TryParse_SetOfInvalidValueStrings_ReturnsFalse(string input) { ContentRangeHeaderValue result = null; Assert.False(ContentRangeHeaderValue.TryParse(input, out result)); Assert.Null(result); }
private void CheckValidTryParse(string input, ContentRangeHeaderValue expectedResult) { ContentRangeHeaderValue result = null; Assert.True(ContentRangeHeaderValue.TryParse(input, out result)); Assert.Equal(expectedResult, result); }
public void TryParse_SetOfValidValueStrings_ParsedCorrectly() { CheckValidTryParse(" bytes 1-2/3 ", new ContentRangeHeaderValue(1, 2, 3)); CheckValidTryParse("bytes * / 3", new ContentRangeHeaderValue(3)); CheckValidTryParse(" custom 1234567890123456789-1234567890123456799/*", new ContentRangeHeaderValue(1234567890123456789, 1234567890123456799) { Unit = "custom" }); CheckValidTryParse(" custom * / 123 ", new ContentRangeHeaderValue(123) { Unit = "custom" }); // Note that we don't have a public constructor for value 'bytes */*' since the RFC doesn't mention a // scenario for it. However, if a server returns this value, we're flexible and accept it. ContentRangeHeaderValue result = null; Assert.True(ContentRangeHeaderValue.TryParse("bytes */*", out result)); Assert.Equal("bytes", result.Unit); Assert.Null(result.From); Assert.Null(result.To); Assert.Null(result.Length); Assert.False(result.HasRange, "HasRange"); Assert.False(result.HasLength, "HasLength"); }