//
        // You can use the following additional attributes as you write your tests:
        //
        // Use ClassInitialize to run code before running the first test in the class
        // [ClassInitialize()]
        // public static void MyClassInitialize(TestContext testContext) { }
        //
        // Use ClassCleanup to run code after all tests in a class have run
        // [ClassCleanup()]
        // public static void MyClassCleanup() { }
        //
        // Use TestInitialize to run code before running each test
        // [TestInitialize()]
        // public void MyTestInitialize() { }
        //
        // Use TestCleanup to run code after each test has run
        // [TestCleanup()]
        // public void MyTestCleanup() { }
        //
        #endregion

        //[TestMethod]
        public void TestSearch()
        {
            IFhirModel _fhirModel = new FhirModel(ModelInfo.SearchParameters);
            ILocalhost _localhost = new Localhost(new Uri("http://localhost"));
//            MongoIndexStore _indexStore =
            //
            // TODO: Add test logic here
            //
        }
Exemple #2
0
        //private ObservableEventListener eventListener;
        //private EventEntry lastLogEntry;

        //private class LogObserver : IObserver<EventEntry>
        //{
        //    private readonly Action<EventEntry> _resultAction;
        //    public LogObserver(Action<EventEntry> resultAction)
        //    {
        //        _resultAction = resultAction;
        //    }
        //    public void OnCompleted()
        //    {
        //    }

        //    public void OnError(Exception error)
        //    {
        //    }

        //    public void OnNext(EventEntry value)
        //    {
        //        _resultAction(value);
        //    }
        //}

        public ElementIndexerTests()
        {
            var fhirModel = new FhirModel();

            //eventListener = new ObservableEventListener();
            //eventListener.EnableEvents(SparkEngineEventSource.Log, EventLevel.LogAlways,
            //      Keywords.All);
            //eventListener.Subscribe(new LogObserver(result => lastLogEntry = result));
            _sut = new ElementIndexer(fhirModel, new Mock <ILogger <ElementIndexer> >().Object);
        }
        public void InitializeTest()
        {
            var fhirModel = new FhirModel();

            eventListener = new ObservableEventListener();
            eventListener.EnableEvents(SparkEngineEventSource.Log, EventLevel.LogAlways,
                                       Keywords.All);
            eventListener.Subscribe(new LogObserver(result => lastLogEntry = result));
            sut = new ElementIndexer(fhirModel);
        }
Exemple #4
0
        public IndexServiceTests()
        {
            var indexStoreMock = new Mock <IIndexStore>();

            _examplePatientJson = TextFileHelper.ReadTextFileFromDisk(
                $".{Path.DirectorySeparatorChar}Examples{Path.DirectorySeparatorChar}patient-example.json");
            _exampleAppointmentJson = TextFileHelper.ReadTextFileFromDisk(
                $".{Path.DirectorySeparatorChar}Examples{Path.DirectorySeparatorChar}appointment-example2doctors.json");
            _carePlanWithContainedGoal = TextFileHelper.ReadTextFileFromDisk(
                $".{Path.DirectorySeparatorChar}Examples{Path.DirectorySeparatorChar}careplan-example-f201-renal.json");
            _exampleObservationJson = TextFileHelper.ReadTextFileFromDisk(
                $".{Path.DirectorySeparatorChar}Examples{Path.DirectorySeparatorChar}observation-example-bloodpressure.json");
            var spPatientName = new SearchParamDefinition
            {
                Resource    = "Patient",
                Name        = "name",
                Description = new Markdown(@"A portion of either family or given name of the patient"),
                Type        = SearchParamType.String,
                Path        = new[] { "Patient.name" },
                Expression  = "Patient.name"
            };
            var spMiddleName = new SearchParamDefinition
            {
                Resource = "Patient",
                Name     = "middlename",
                Type     = SearchParamType.String,
                Path     = new[]
                {
                    "Patient.name.extension.where(url='http://hl7.no/fhir/StructureDefinition/no-basis-middlename')"
                },
                Expression =
                    "Patient.name.extension.where(url='http://hl7.no/fhir/StructureDefinition/no-basis-middlename')"
            };
            var searchParameters = new List <SearchParamDefinition> {
                spPatientName, spMiddleName
            };
            var resources =
                new Dictionary <Type, string> {
                { typeof(Patient), "Patient" }, { typeof(HumanName), "HumanName" }
            };

            // For this test setup we want a limited available types and search parameters.
            IFhirModel limitedFhirModel      = new FhirModel(resources, searchParameters);
            var        limitedElementIndexer = new ElementIndexer(limitedFhirModel, new Mock <ILogger <ElementIndexer> >().Object);

            _limitedIndexService = new IndexService(limitedFhirModel, indexStoreMock.Object, limitedElementIndexer);

            // For this test setup we want all available types and search parameters.
            IFhirModel fullFhirModel      = new FhirModel();
            var        fullElementIndexer = new ElementIndexer(fullFhirModel, new Mock <ILogger <ElementIndexer> >().Object);

            _fullIndexService = new IndexService(fullFhirModel, indexStoreMock.Object, fullElementIndexer);
        }
Exemple #5
0
        public void TestInitialize()
        {
            IFhirModel        _fhirModel;
            FhirPropertyIndex _propIndex;
            ResourceVisitor   _resourceVisitor;
            ElementIndexer    _elementIndexer;
            var _indexStoreMock = new Mock <IIndexStore>();

            var spPatientName = new SearchParamDefinition()
            {
                Resource = "Patient", Name = "name", Description = @"A portion of either family or given name of the patient", Type = SearchParamType.String, Path = new string[] { "Patient.name", }
            };
            var searchParameters = new List <SearchParamDefinition> {
                spPatientName
            };
            var resources = new Dictionary <Type, string> {
                { typeof(Patient), "Patient" }, { typeof(HumanName), "HumanName" }
            };
            var enums = new List <Type>();

            //CK: I use real objects: saves me a lot of mocking and provides for a bit of integration testing.
            _fhirModel = new FhirModel(resources, searchParameters, enums);
            _propIndex = new FhirPropertyIndex(_fhirModel, new List <Type> {
                typeof(Patient), typeof(HumanName)
            });
            _resourceVisitor = new ResourceVisitor(_propIndex);
            _elementIndexer  = new ElementIndexer(_fhirModel);

            //_indexStoreMock.Setup(ixs => ixs.Save(It.IsAny<IndexValue>))

            sutLimited = new IndexService(_fhirModel, _propIndex, _resourceVisitor, _elementIndexer, _indexStoreMock.Object);

            _fhirModel       = new FhirModel(); //For this test I want all available types and searchparameters.
            _propIndex       = new FhirPropertyIndex(_fhirModel);
            _resourceVisitor = new ResourceVisitor(_propIndex);
            _elementIndexer  = new ElementIndexer(_fhirModel);

            sutFull = new IndexService(_fhirModel, _propIndex, _resourceVisitor, _elementIndexer, _indexStoreMock.Object);
        }
        public void InitializeTest()
        {
            var fhirModel = new FhirModel();

            sut = new ElementIndexer(fhirModel);
        }
Exemple #7
0
 public static void ClassInitialize(TestContext testContext)
 {
     sut = new FhirModel();
 }