Ejemplo n.º 1
0
        public void CreateETagDefaultODataETagHandler_ThrowsArgumentNull_Segment()
        {
            // Arrange & Act & Assert
            DefaultODataETagHandler handler = new DefaultODataETagHandler();

            ExceptionAssert.ThrowsArgumentNull(() => handler.CreateETag(null), "properties");
        }
Ejemplo n.º 2
0
        public void ParseETagDefaultODataETagHandler_ThrowsArgumentNull_EtagHeaderValue()
        {
            // Arrange & Act & Assert
            DefaultODataETagHandler handler = new DefaultODataETagHandler();

            ExceptionAssert.ThrowsArgumentNull(() => handler.ParseETag(null), "etagHeaderValue");
        }
Ejemplo n.º 3
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.Single(values);
            Assert.Equal(value, values[0]);
        }
Ejemplo n.º 4
0
        [InlineData("China Standard Time")]   // +8:00
        public void DefaultODataETagHandler_DateTime_RoundTrips(string timeZoneId)
        {
            // Arrange
            TimeZoneInfo 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, timeZone);
            IList <object>       values          = handler.ParseETag(etagHeaderValue).Select(p => p.Value).ToList();

            // Assert
            Assert.True(etagHeaderValue.IsWeak);
            Assert.Single(values);
            DateTimeOffset result = Assert.IsType <DateTimeOffset>(values[0]);

            Assert.Equal(TimeZoneInfo.ConvertTime(new DateTimeOffset(value), timeZone), result);
        }
Ejemplo n.º 5
0
        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.NotNull(notUsed);
            Assert.True(etagHeaderValue.IsWeak);
            Assert.Equal(values.Length, results.Count);
            for (int i = 0; i < values.Length; i++)
            {
                Assert.Equal(values[i], results[i]);
            }
        }