public void DefaultODataETagHandler_RoundTrips(object value) { // Arrange DefaultODataETagHandler handler = new DefaultODataETagHandler(); Dictionary<string, object> properties = new Dictionary<string, object> { { "Any", value } }; // Act EntityTagHeaderValue etagHeaderValue = handler.CreateETag(properties); IList<object> values = handler.ParseETag(etagHeaderValue).Select(p => p.Value).ToList(); // Assert Assert.True(etagHeaderValue.IsWeak); Assert.Equal(1, values.Count); Assert.Equal(value, values[0]); }
public void DefaultODataETagHandler_RoundTrips(object value) { // Arrange DefaultODataETagHandler handler = new DefaultODataETagHandler(); Dictionary <string, object> properties = new Dictionary <string, object> { { "Any", value } }; // Act EntityTagHeaderValue etagHeaderValue = handler.CreateETag(properties); IList <object> values = handler.ParseETag(etagHeaderValue).Select(p => p.Value).ToList(); // Assert Assert.True(etagHeaderValue.IsWeak); Assert.Equal(1, values.Count); Assert.Equal(value, values[0]); }
[InlineData("China Standard Time")] // +8:00 public void DefaultODataETagHandler_DateTime_RoundTrips(string timeZoneId) { // Arrange TimeZoneInfoHelper.TimeZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId); DateTime value = new DateTime(2015, 2, 17, 1, 2, 3, DateTimeKind.Utc); DefaultODataETagHandler handler = new DefaultODataETagHandler(); Dictionary<string, object> properties = new Dictionary<string, object> { { "Any", value } }; // Act EntityTagHeaderValue etagHeaderValue = handler.CreateETag(properties); IList<object> values = handler.ParseETag(etagHeaderValue).Select(p => p.Value).ToList(); // Assert Assert.True(etagHeaderValue.IsWeak); Assert.Equal(1, values.Count); DateTimeOffset result = Assert.IsType<DateTimeOffset>(values[0]); Assert.Equal(TimeZoneInfo.ConvertTime(new DateTimeOffset(value), TimeZoneInfoHelper.TimeZone), result); }
public void CreateETag_ETagCreatedAndParsed_GivenValues(string notUsed, object[] values) { // Arrange DefaultODataETagHandler handler = new DefaultODataETagHandler(); Dictionary<string, object> properties = new Dictionary<string, object>(); for (int i = 0; i < values.Length; i++) { properties.Add("Prop" + i, values[i]); } // Act EntityTagHeaderValue etagHeaderValue = handler.CreateETag(properties); IList<object> results = handler.ParseETag(etagHeaderValue).Select(p => p.Value).ToList(); // Assert Assert.True(etagHeaderValue.IsWeak); Assert.Equal(values.Length, results.Count); for (int i = 0; i < values.Length; i++) { Assert.Equal(values[i], results[i]); } }
[InlineData("China Standard Time")] // +8:00 public void DefaultODataETagHandler_DateTime_RoundTrips(string timeZoneId) { // Arrange TimeZoneInfoHelper.TimeZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId); DateTime value = new DateTime(2015, 2, 17, 1, 2, 3, DateTimeKind.Utc); DefaultODataETagHandler handler = new DefaultODataETagHandler(); Dictionary <string, object> properties = new Dictionary <string, object> { { "Any", value } }; // Act EntityTagHeaderValue etagHeaderValue = handler.CreateETag(properties); IList <object> values = handler.ParseETag(etagHeaderValue).Select(p => p.Value).ToList(); // Assert Assert.True(etagHeaderValue.IsWeak); Assert.Equal(1, values.Count); DateTimeOffset result = Assert.IsType <DateTimeOffset>(values[0]); Assert.Equal(TimeZoneInfo.ConvertTime(new DateTimeOffset(value), TimeZoneInfoHelper.TimeZone), result); }
public void CreateETag_ETagCreatedAndParsed_GivenValues(string notUsed, object[] values) { // Arrange DefaultODataETagHandler handler = new DefaultODataETagHandler(); Dictionary <string, object> properties = new Dictionary <string, object>(); for (int i = 0; i < values.Length; i++) { properties.Add("Prop" + i, values[i]); } // Act EntityTagHeaderValue etagHeaderValue = handler.CreateETag(properties); IList <object> results = handler.ParseETag(etagHeaderValue).Select(p => p.Value).ToList(); // Assert Assert.True(etagHeaderValue.IsWeak); Assert.Equal(values.Length, results.Count); for (int i = 0; i < values.Length; i++) { Assert.Equal(values[i], results[i]); } }