public void GivenValidTemplate_WhenMergeObservation_ThenImplInvoked_Test()
        {
            var template         = new CodeValueFhirTemplate();
            var processor        = Substitute.ForPartsOf <TestFhirTemplateProcessor>();
            var observationGroup = Substitute.For <IObservationGroup>();

            processor.TestMergeObservationImpl(null, null, null).ReturnsForAnyArgs(string.Empty);

            var result = processor.MergeObservation(template, observationGroup, "1");

            Assert.Equal(string.Empty, result);

            processor.Received(1).TestMergeObservationImpl(template, observationGroup, "1");
        }
        public void GivenValidTemplateType_WhenCreateObservationGroups_ThenImplInvoked_Test()
        {
            var template         = new CodeValueFhirTemplate();
            var processor        = Substitute.ForPartsOf <TestFhirTemplateProcessor>();
            var measurementGroup = Substitute.For <IMeasurementGroup>();
            var expected         = Substitute.For <IEnumerable <IObservationGroup> >();

            processor.TestCreateObservationGroupsImpl(null, null).ReturnsForAnyArgs(expected);

            var result = processor.CreateObservationGroups(template, measurementGroup);

            Assert.Equal(expected, result);

            processor.Received(1).TestCreateObservationGroupsImpl(template, measurementGroup);
        }