/// <summary>Checks for ability to convert given data type.</summary>
        /// <param name="literalNode"></param>
        /// <returns><b>true</b> if the data type is Base64 binary; otherwise <b>false</b>.</returns>
        public override LiteralConversionMatch CanConvert(Node literalNode)
        {
            var match = new LiteralConversionMatch { LiteralFormatMatches = MatchResult.DontCare };
            if (new AbsoluteUriComparer().Equals(literalNode.DataType, Xsd.Base64Binary))
            {
                match.DatatypeMatches = MatchResult.ExactMatch;
            }

            return match;
        }
        /// <inheritdoc/>
        public override LiteralConversionMatch CanConvert(Node literalNode)
        {
            var literalConversionMatch = new LiteralConversionMatch { LiteralFormatMatches = MatchResult.DontCare };
            if ((literalNode.IsLiteral) && ((literalNode.DataType == null) || (AbsoluteUriComparer.Default.Compare(literalNode.DataType, Xsd.String) == 0)))
            {
                literalConversionMatch.DatatypeMatches = MatchResult.ExactMatch;
            }

            return literalConversionMatch;
        }
예제 #3
0
        /// <inheritdoc />
        public LiteralConversionMatch CanConvert(Node literalNode)
        {
            var result = new LiteralConversionMatch { DatatypeMatches = MatchResult.DontCare };

            Guid value;
            if (Guid.TryParse(literalNode.Literal, out value))
            {
                result.LiteralFormatMatches = MatchResult.ExactMatch;
            }

            return result;
        }
        public void Exact_literal_match_should_be_greater_than_datatype_match(MatchResult datatypeMatch)
        {
            // given
            var left = new LiteralConversionMatch { LiteralFormatMatches = MatchResult.ExactMatch };
            var right = new LiteralConversionMatch { DatatypeMatches = datatypeMatch };

            // when
            var compareTo = left.CompareTo(right);

            // then
            compareTo.Should().BeGreaterThan(0);
        }
예제 #5
0
        public void Negative_matches_should_be_equal()
        {
            // given
            var left  = new LiteralConversionMatch();
            var right = new LiteralConversionMatch();

            // when
            var compareTo = left.CompareTo(right);

            // then
            compareTo.Should().Be(0);
            left.Should().Be(right);
        }
        public void Negative_matches_should_be_equal()
        {
            // given
            var left = new LiteralConversionMatch();
            var right = new LiteralConversionMatch();

            // when
            var compareTo = left.CompareTo(right);

            // then
            compareTo.Should().Be(0);
            left.Should().Be(right);
        }
        /// <summary>Check if a converter can convert the given XSD datatype.</summary>
        public override LiteralConversionMatch CanConvert(Node literalNode)
        {
            var match = new LiteralConversionMatch
            {
                LiteralFormatMatches = MatchResult.DontCare
            };

            if ((literalNode.IsLiteral) && (SupportedDataTypes.Contains(literalNode.DataType, AbsoluteUriComparer.Default)))
            {
                match.DatatypeMatches = MatchResult.ExactMatch;
            }

            return match;
        }
예제 #8
0
        public void Exact_literal_match_should_be_greater_than_datatype_match(MatchResult datatypeMatch)
        {
            // given
            var left = new LiteralConversionMatch {
                LiteralFormatMatches = MatchResult.ExactMatch
            };
            var right = new LiteralConversionMatch {
                DatatypeMatches = datatypeMatch
            };

            // when
            var compareTo = left.CompareTo(right);

            // then
            compareTo.Should().BeGreaterThan(0);
        }
예제 #9
0
        public void Datatype_match_should_be_greater_than_no_match(MatchResult datatypeMatch)
        {
            // given
            var left = new LiteralConversionMatch
            {
                DatatypeMatches = datatypeMatch
            };
            var right = new LiteralConversionMatch();

            // when
            var compareTo = left.CompareTo(right);

            // then
            compareTo.Should().BeGreaterThan(0);
            left.Should().NotBe(right);
        }
        public void Datatype_match_should_be_greater_than_no_match(MatchResult datatypeMatch)
        {
            // given
            var left = new LiteralConversionMatch
            {
                DatatypeMatches = datatypeMatch
            };
            var right = new LiteralConversionMatch();

            // when
            var compareTo = left.CompareTo(right);

            // then
            compareTo.Should().BeGreaterThan(0);
            left.Should().NotBe(right);
        }