Example #1
0
        public void Serialize_String_Exception()
        {
            // arrange
            var timeSpanType = new TimeSpanType();

            // act
            Action a = () => timeSpanType.Serialize("bad");

            // assert
            Assert.Throws <ScalarSerializationException>(a);
        }
Example #2
0
        public void ParseValue_Null()
        {
            // arrange
            var timeSpanType = new TimeSpanType();

            // act
            IValueNode literal = timeSpanType.ParseValue(null);

            // assert
            Assert.IsType <NullValueNode>(literal);
        }
Example #3
0
        public void Serialize_Null()
        {
            // arrange
            var timeSpanType = new TimeSpanType();

            // act
            object serializedValue = timeSpanType.Serialize(null);

            // assert
            Assert.Null(serializedValue);
        }
Example #4
0
        public void Serialize_TimeSpan_Min(TimeSpanFormat format, string expectedValue)
        {
            // arrange
            var      timeSpanType = new TimeSpanType(format);
            TimeSpan timeSpan     = TimeSpan.MinValue;

            // act
            string serializedValue = (string)timeSpanType.Serialize(timeSpan);

            // assert
            Assert.Equal(expectedValue, serializedValue);
        }
Example #5
0
        public void Deserialize_InvalidString()
        {
            // arrange
            var timeSpanType = new TimeSpanType();

            // act
            bool success = timeSpanType
                           .TryDeserialize("bad", out object deserialized);

            // assert
            Assert.False(success);
        }
Example #6
0
        public void ParseLiteral_NullValueNode()
        {
            // arrange
            var           timeSpanType = new TimeSpanType();
            NullValueNode literal      = NullValueNode.Default;

            // act
            object value = timeSpanType.ParseLiteral(literal);

            // assert
            Assert.Null(value);
        }
Example #7
0
        public void Deserialize_TimeSpan_CannotEndWithDigits()
        {
            // arrange
            var timeSpanType = new TimeSpanType();

            // act
            bool success = timeSpanType
                           .TryDeserialize("PT5", out var deserialized);

            // assert
            Assert.False(success);
        }
Example #8
0
        public void Serialize_TimeSpan_DefaultFormat()
        {
            // arrange
            var    timeSpanType  = new TimeSpanType();
            var    timeSpan      = TimeSpan.FromMinutes(5);
            string expectedValue = "PT5M";

            // act
            string serializedValue = (string)timeSpanType.Serialize(timeSpan);

            // assert
            Assert.Equal(expectedValue, serializedValue);
        }
Example #9
0
        public void Deserialize_Null_To_Null()
        {
            // arrange
            var timeSpanType = new TimeSpanType();

            // act
            bool success = timeSpanType
                           .TryDeserialize(null, out object deserialized);

            // assert
            Assert.True(success);
            Assert.Null(deserialized);
        }
Example #10
0
        public void Deserialize_TimeSpan_Min(TimeSpanFormat format, string actualValue)
        {
            // arrange
            var      timeSpanType = new TimeSpanType(format);
            TimeSpan timeSpan     = TimeSpan.MinValue;

            // act
            var deserializedValue = (TimeSpan)timeSpanType
                                    .Deserialize(actualValue);

            // assert
            Assert.Equal(timeSpan, deserializedValue);
        }
Example #11
0
        public void Deserialize_TimeSpan_Weeks()
        {
            // arrange
            var timeSpanType = new TimeSpanType();
            var timeSpan     = TimeSpan.FromDays(79);

            // act
            var deserializedValue = (TimeSpan)timeSpanType
                                    .Deserialize("P2M2W5D");

            // assert
            Assert.Equal(timeSpan, deserializedValue);
        }
Example #12
0
        public void ParseLiteral_StringValueNode(TimeSpanFormat format, string literalValue)
        {
            // arrange
            var timeSpanType     = new TimeSpanType(format);
            var literal          = new StringValueNode(literalValue);
            var expectedTimeSpan = TimeSpan.FromMinutes(5);

            // act
            var timeSpan = (TimeSpan)timeSpanType
                           .ParseLiteral(literal);

            // assert
            Assert.Equal(expectedTimeSpan, timeSpan);
        }