public void should_return_IV_values_for_parameters()
        {
            var vss = _results.PKParameter(_compoundName, CoreConstants.PKAnalysis.VssPlasma);

            vss.Value.ShouldBeEqualTo(_peripheralVenousBloodPK["Vss"].Value * _bioaValue);

            var vdplasma = _results.PKParameter(_compoundName, CoreConstants.PKAnalysis.VdPlasma);

            vdplasma.Value.ShouldBeEqualTo(_peripheralVenousBloodPK["Vd"].Value * _bioaValue);

            var totalCL = _results.PKParameter(_compoundName, CoreConstants.PKAnalysis.TotalPlasmaCL);

            totalCL.Value.ShouldBeEqualTo(_peripheralVenousBloodPK["CL"].Value * _bioaValue);
        }
        public void should_have_used_the_peripheral_venous_blood()
        {
            var vss = _results.PKParameter(_compoundName, CoreConstants.PKAnalysis.VssPlasma);

            vss.Value.ShouldBeEqualTo(_peripheralVenousBloodPK["Vss"].Value);

            var vdplasma = _results.PKParameter(_compoundName, CoreConstants.PKAnalysis.VdPlasma);

            vdplasma.Value.ShouldBeEqualTo(_peripheralVenousBloodPK["Vd"].Value);

            var totalCL = _results.PKParameter(_compoundName, CoreConstants.PKAnalysis.TotalPlasmaCL);

            totalCL.Value.ShouldBeEqualTo(_peripheralVenousBloodPK["CL"].Value);
        }
        public void should_have_used_the_venous_blood()
        {
            var vdplasma = _results.PKParameter(_compoundName, CoreConstants.PKAnalysis.VdPlasma);

            vdplasma.ShouldNotBeNull();
            vdplasma.Value.ShouldBeEqualTo(_venousBloodPK["Vd"].Value);
        }
        private void addFractionAbsorbedWarningTo(PKAnalysis pkAnalysis, GlobalPKAnalysis globalPKAnalysis, string moleculeName)
        {
            var fractionAbsorbed = globalPKAnalysis.PKParameter(moleculeName, CoreConstants.PKAnalysis.FractionAbsorbed);

            if (fractionAbsorbed == null)
            {
                return;
            }

            if (ValueComparer.AreValuesEqual(fractionAbsorbed.Value, 1, CoreConstants.DOUBLE_RELATIVE_EPSILON))
            {
                return;
            }

            addWarningsTo(pkAnalysis, PKSimConstants.Warning.FractionAbsorbedSmallerThanOne, CoreConstants.PKAnalysis.AllParametersInfluencedByFractionAbsorbed);
        }
        public DataTable MapFrom(GlobalPKAnalysis globalPKAnalysis, bool addMetaData = false)
        {
            var dataTable = new DataTable(PKSimConstants.UI.GlobalPKAnalyses);

            dataTable.AddColumn(PKSimConstants.PKAnalysis.ParameterDisplayName);
            dataTable.AddColumn(PKSimConstants.PKAnalysis.Compound);
            dataTable.AddColumn <double>(PKSimConstants.PKAnalysis.Value);
            dataTable.AddColumn(PKSimConstants.PKAnalysis.Unit);

            if (addMetaData)
            {
                dataTable.AddColumn(PKSimConstants.PKAnalysis.ParameterName);
                dataTable.AddColumn(PKSimConstants.PKAnalysis.Description);
                dataTable.AddColumn(PKSimConstants.PKAnalysis.Warning);
            }

            foreach (var parameterName in globalPKAnalysis.AllPKParameterNames)
            {
                foreach (var compoundName in globalPKAnalysis.CompoundNames)
                {
                    var parameter = globalPKAnalysis.PKParameter(compoundName, parameterName);
                    if (parameter == null)
                    {
                        continue;
                    }

                    var info = _representationInfoRepository.InfoFor(parameter);
                    var row  = dataTable.NewRow();

                    row[PKSimConstants.PKAnalysis.ParameterDisplayName] = info.DisplayName;
                    row[PKSimConstants.PKAnalysis.Compound]             = compoundName;
                    row[PKSimConstants.PKAnalysis.Value] = parameter.ValueInDisplayUnit;
                    row[PKSimConstants.PKAnalysis.Unit]  = parameter.DisplayUnit;

                    if (addMetaData)
                    {
                        row[PKSimConstants.PKAnalysis.ParameterName] = parameter.Name;
                        row[PKSimConstants.PKAnalysis.Warning]       = parameter.Validate().Message;
                        row[PKSimConstants.PKAnalysis.Description]   = info.Description;
                    }

                    dataTable.Rows.Add(row);
                }
            }

            return(dataTable);
        }
 public void should_not_contain_value_for_fraction_absorbed()
 {
     _result.PKParameter(_compoundName, CoreConstants.PKAnalysis.FractionAbsorbed).ShouldBeNull();
 }