Beispiel #1
0
        public void TestDurationConstant()
        {
            var constant = new EdmDurationConstant(new TimeSpan());

            Assert.AreEqual(EdmValueKind.Duration, constant.ValueKind, "Invalid value kind.");

            this.ValidateEdmValueKindRoundTrip(EdmValueKind.Duration, EdmCoreModel.Instance.GetDuration(true), constant);
        }
        public void BuildEdmExpression_Works_ForDurationValue()
        {
            // Arrange
            IEdmType edmType = EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Duration);

            // Act
            IEdmExpression exp = IEdmTermExtensions.BuildEdmExpression(edmType, "P11DT23H59M59.999999999999S");

            // Assert
            Assert.NotNull(exp);
            EdmDurationConstant constant = Assert.IsType <EdmDurationConstant>(exp);

            Assert.Equal("11.23:59:59.9999999", constant.Value.ToString());
        }
        public void EdmDurationConstant()
        {
            var e = new EdmDurationConstant(new TimeSpan(1, 2, 3));

            Assert.AreEqual(EdmExpressionKind.DurationConstant, e.ExpressionKind, "e.ExpressionKind");
            Assert.IsNull(e.Type, "e.Type");
            Assert.AreEqual(new TimeSpan(1, 2, 3), e.Value, "e.Value");

            e = new EdmDurationConstant(EdmCoreModel.Instance.GetDuration(true), new TimeSpan(3, 2, 1));
            Assert.AreEqual(true, e.Type.IsNullable, "e.Type.IsNullable");
            Assert.AreEqual(new TimeSpan(3, 2, 1), e.Value, "e.Value");

            e = new EdmDurationConstant(null, new TimeSpan(2, 4, 8));
            Assert.IsNull(e.Type, "e.Type");

            Assert.IsFalse(e.IsBad(), "Expression not bad.");
            Assert.AreEqual(0, e.Errors().Count(), "Expression has no errors");
        }