void ISearchValueVisitor.Visit(UriSearchValue uri) { EnsureArg.IsNotNull(uri, nameof(uri)); switch (_modifier) { case null: _outputExpression = Expression.Equals(FieldName.Uri, _componentIndex, uri.Uri); break; case SearchModifierCode.Above: _outputExpression = Expression.And( Expression.EndsWith(FieldName.Uri, _componentIndex, uri.Uri, false), Expression.NotStartsWith(FieldName.Uri, _componentIndex, KnownUriSchemes.Urn, false)); break; case SearchModifierCode.Below: _outputExpression = Expression.And( Expression.StartsWith(FieldName.Uri, _componentIndex, uri.Uri, false), Expression.NotStartsWith(FieldName.Uri, _componentIndex, KnownUriSchemes.Urn, false)); break; default: ThrowModifierNotSupported(); break; } }
public void GivenASearchValue_WhenToStringIsCalled_ThenCorrectStringShouldBeReturned() { string expected = "http://uri3"; UriSearchValue value = new UriSearchValue(expected); Assert.Equal(expected, value.ToString()); }
public void GivenAValidString_WhenParsed_ThenCorrectSearchValueShouldBeReturned() { string expected = "http://uri2"; UriSearchValue value = UriSearchValue.Parse(expected); Assert.NotNull(value); Assert.Equal(expected, value.Uri); }
public void GivenAnUriSearchValue_WhenGenerated_ThenCorrectJObjectShouldBeCreated() { const string uri = "http://uri"; var value = new UriSearchValue(uri); TestAndValidateOutput( "uri", value, new[] { CreateTuple("u", uri) }); }
protected override IEnumerable <ReferenceSearchValue> ConvertTo(FhirUri value) { if (value.Value == null) { yield break; } var reference = new UriSearchValue(value.Value, false); // Contained resources will not be searchable. if (reference.Uri.StartsWith("#", StringComparison.Ordinal) || reference.Uri.StartsWith("urn:", StringComparison.Ordinal)) { yield break; } yield return(_referenceSearchValueParser.Parse(reference.Uri)); }
void ISearchValueVisitor.Visit(UriSearchValue uri) { AddProperty(SearchValueConstants.UriName, uri.Uri); }
public void GivenASearchValue_WhenIsValidCompositeComponentIsCalled_ThenTrueShouldBeReturned() { var value = new UriSearchValue("http://uri"); Assert.True(value.IsValidAsCompositeComponent); }
public void GivenAnInvalidString_WhenParsing_ThenExceptionShouldBeThrown(string s) { Assert.Throws <ArgumentException>(ParamNameS, () => UriSearchValue.Parse(s)); }
public void GivenANullString_WhenParsing_ThenExceptionShouldBeThrown() { Assert.Throws <ArgumentNullException>(ParamNameS, () => UriSearchValue.Parse(null)); }
public void Visit(UriSearchValue uri) { AddProperty(_prefix, uri.Uri); }