/// <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; }
/// <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); }
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; }
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); }