Esempio n. 1
0
        public void ListAllUnsupportedTypes()
        {
            var unsupported = new UnsupportedSearchParameters();

            SearchParameterDefinitionManager manager = SearchParameterFixtureData.CreateSearchParameterDefinitionManager(ModelInfoProvider.Instance);

            var resourceAndSearchParameters = ModelInfoProvider.Instance
                                              .GetResourceTypeNames()
                                              .Select(resourceType => (resourceType, parameters: manager.GetSearchParameters(resourceType)));

            foreach (var searchParameterRow in resourceAndSearchParameters)
            {
                foreach (SearchParameterInfo parameterInfo in searchParameterRow.parameters)
                {
                    if (parameterInfo.Name != "_type")
                    {
                        var converters = GetConvertsForSearchParameters(searchParameterRow.resourceType, parameterInfo);

                        if (converters.All(x => x.hasConverter == false))
                        {
                            unsupported.Unsupported.Add(parameterInfo.Url);
                        }
                        else if (converters.Any(x => x.hasConverter == false))
                        {
                            unsupported.PartialSupport.Add(parameterInfo.Url);
                        }
                    }
                }
            }

            // Print the current state to the console
            _outputHelper.WriteLine(JsonConvert.SerializeObject(unsupported, new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore,
                Formatting        = Formatting.Indented,
            }));

            // Check this against the list already in the system:
            var systemUnsupported = new UnsupportedSearchParameters();

            foreach (var searchParameter in resourceAndSearchParameters.SelectMany(x => x.parameters))
            {
                if (!searchParameter.IsSupported)
                {
                    systemUnsupported.Unsupported.Add(searchParameter.Url);
                }
                else if (searchParameter.IsPartiallySupported)
                {
                    systemUnsupported.PartialSupport.Add(searchParameter.Url);
                }
            }

            // Expect that the static file "unsupported-search-parameters.json" equals the generated list
            Assert.Equal(systemUnsupported.Unsupported, unsupported.Unsupported);
            Assert.Equal(systemUnsupported.PartialSupport, unsupported.PartialSupport);
        }
Esempio n. 2
0
 public async Task InitializeAsync()
 {
     _resolver = new SearchParameterSupportResolver(
         await SearchParameterFixtureData.GetFhirTypedElementToSearchValueConverterManagerAsync());
 }
        protected override async Task <ITypedElementToSearchValueConverter> GetTypeConverterAsync()
        {
            FhirTypedElementToSearchValueConverterManager fhirTypedElementToSearchValueConverterManager = await SearchParameterFixtureData.GetFhirTypedElementToSearchValueConverterManagerAsync();

            fhirTypedElementToSearchValueConverterManager.TryGetConverter("Extension", typeof(QuantitySearchValue), out ITypedElementToSearchValueConverter extensionConverter);

            return(extensionConverter);
        }
Esempio n. 4
0
        protected async Task <ITypedElementToSearchValueConverterManager> GetTypeConverterAsync()
        {
            FhirTypedElementToSearchValueConverterManager fhirTypedElementToSearchValueConverterManager = await SearchParameterFixtureData.GetFhirTypedElementToSearchValueConverterManagerAsync();

            return(fhirTypedElementToSearchValueConverterManager);
        }
Esempio n. 5
0
        private async Task <ITypedElementToSearchValueConverter> GetTypeConverterAsync()
        {
            FhirTypedElementToSearchValueConverterManager fhirTypedElementToSearchValueConverterManager = await SearchParameterFixtureData.GetFhirTypedElementToSearchValueConverterManagerAsync();

            fhirTypedElementToSearchValueConverterManager.TryGetConverter("Extension", typeof(ReferenceSearchValue), out ITypedElementToSearchValueConverter extensionConverter);

            return(extensionConverter);
        }