public static void Link(FeatureAction featureAction, SamplingFeature samplingFeature)
        {
            featureAction.SamplingFeature   = samplingFeature;
            featureAction.SamplingFeatureID = samplingFeature.SamplingFeatureID;

            samplingFeature.FeatureActions.Add(featureAction);
        }
        public void Setup()
        {
            var measurementResultValue = new MeasurementResultValue();
            measurementResultValue.DataValue = MeasurementValue;
            var measurementResult = new MeasurementResult();
            measurementResult.MeasurementResultValues.Add(measurementResultValue);
            var result = new Result();
            result.ResultDateTime = DateTime.Today;
            result.MeasurementResult = measurementResult;
            var samplingFeature = new SamplingFeature();
            samplingFeature.SamplingFeatureTypeCV = "Specimen";
            var featureAction = new FeatureAction();
            featureAction.SamplingFeature = samplingFeature;
            featureAction.Results.Add(result);
            var action = new Core.Action();
            action.ActionID = ActionId;
            action.FeatureActions.Add(featureAction);
            var actions = new List<Core.Action>();
            actions.Add(action);
            supportedData = actions;

            var mockVersionHelper = new Mock<IDataVersioningHelper>();
            mockVersionHelper.Setup(x => x.GetLatestVersionActionData(It.IsAny<Hatfield.EnviroData.Core.Action>())).Returns(action);
            mockVersionHelper.Setup(x => x.CloneActionData(It.IsAny<Hatfield.EnviroData.Core.Action>())).Returns(cloneAction(action));

            var mockRepository = new Mock<IRepository<CV_RelationshipType>>();
            testTool = new ChemistryValueCheckingTool(mockVersionHelper.Object, mockRepository.Object);

            mockChemistryValueCheckingRule = new Mock<ChemistryValueCheckingRule>();
        }
        public static void Link(FeatureAction featureAction, SamplingFeature samplingFeature)
        {
            featureAction.SamplingFeature = samplingFeature;
            featureAction.SamplingFeatureID = samplingFeature.SamplingFeatureID;

            samplingFeature.FeatureActions.Add(featureAction);
        }
        private Core.Action cloneAction(Core.Action action)
        {
            var measurementResultValueClone = new MeasurementResultValue();
            measurementResultValueClone.DataValue = action.FeatureActions.FirstOrDefault().Results.FirstOrDefault()
                .MeasurementResult.MeasurementResultValues.FirstOrDefault().DataValue;
            var measurementResultClone = new MeasurementResult();
            measurementResultClone.MeasurementResultValues.Add(measurementResultValueClone);
            var resultClone = new Result();
            resultClone.ResultDateTime = action.FeatureActions.FirstOrDefault().Results.FirstOrDefault().ResultDateTime;
            resultClone.MeasurementResult = measurementResultClone;
            var samplingFeatureClone = new SamplingFeature();
            samplingFeatureClone.SamplingFeatureTypeCV = action.FeatureActions.FirstOrDefault().SamplingFeature.SamplingFeatureTypeCV;
            var featureActionClone = new FeatureAction();
            featureActionClone.SamplingFeature = samplingFeatureClone;
            featureActionClone.Results.Add(resultClone);
            var actionClone = new Core.Action();
            actionClone.FeatureActions.Add(featureActionClone);

            return actionClone;
        }