public string ToolTipTextForRow(int observedDataRowIndex)
        {
            var column = _observedData.ColumnWithValueBelowLLOQ(observedDataRowIndex);

            if (column == null)
            {
                return(string.Empty);
            }

            var baseValue     = convertCellToFloat(observedDataRowIndex, column);
            var displayValue  = column.ConvertToDisplayUnit(baseValue);
            var valueAsString = _numericFormatter.Format(displayValue);

            return(ToolTips.LLOQTooltip(column.Name, valueAsString, column.DisplayUnit.ToString(), column.ConvertToDisplayUnit(column.DataInfo.LLOQ)));
        }
Example #2
0
        private string displayValueFor(OriginDataParameter originDataParameter)
        {
            var dimension   = _dimensionRepository.DimensionForUnit(originDataParameter.Unit);
            var displayUnit = dimension.UnitOrDefault(originDataParameter.Unit);

            return(_formatter.Format(dimension.BaseUnitValueToUnitValue(displayUnit, originDataParameter.Value)));
        }
Example #3
0
        public void should_return_invalid()
        {
            sut.IsValid().ShouldBeFalse();

            var message = sut.Validate().Message;

            message.Contains($"{_numericFormatter.Format(2)} h").ShouldBeTrue();
        }
        private DataTable createTableFor(string tableName, DataColumn baseGridColumn, IEnumerable <DataColumn> columnsToExport, Func <DataColumn, string> columnNameRetriever, Func <DataColumn, IDimension> dimensionRetriever, bool formatOutput, bool useDisplayUnit)
        {
            var dataTable = new DataTable(tableName);

            //user string because we want to export the unit
            var allColumns = columnsToExport.Where(col => !col.IsBaseGrid())
                             .Where(x => x.BaseGrid == baseGridColumn).ToList();

            moveDrugColumnsFirst(allColumns);

            allColumns.Insert(0, baseGridColumn);
            var cacheName       = retrieveUniqueNameForColumns(allColumns, columnNameRetriever);
            var cacheDimensions = retrieveDimensionsFor(allColumns, dimensionRetriever);

            allColumns.Each(x =>
            {
                var column = dataTable.Columns.Add(cacheName[x], formatOutput ? typeof(string) : typeof(float));
                column.ExtendedProperties.Add(Constants.DATA_REPOSITORY_COLUMN_ID, x.Id);
            });

            //add units information
            for (int i = 0; i < dataTable.Columns.Count; i++)
            {
                var col        = dataTable.Columns[i];
                var dataColumn = allColumns[i];
                var dimension  = cacheDimensions[dataColumn];
                var unit       = unitFor(dimension, dataColumn, useDisplayUnit);

                if (!string.IsNullOrWhiteSpace(unit.Name))
                {
                    col.ColumnName = $"{col.ColumnName} [{unit.Name}]";
                }
            }

            for (int i = 0; i < baseGridColumn.Values.Count; i++)
            {
                var row = dataTable.NewRow();
                for (int j = 0; j < allColumns.Count; j++)
                {
                    var    columnToExport = allColumns[j];
                    var    dimension      = cacheDimensions[columnToExport];
                    var    unit           = unitFor(dimension, columnToExport, useDisplayUnit);
                    double value          = dimension.BaseUnitValueToUnitValue(unit, columnToExport.Values[i]);

                    if (formatOutput)
                    {
                        row[j] = _numericFormatter.Format(value);
                    }
                    else
                    {
                        row[j] = value;
                    }
                }
                dataTable.Rows.Add(row);
            }

            return(dataTable);
        }
Example #5
0
        private Func <double, object> valueFormatterFor(bool formatOutput)
        {
            if (formatOutput)
            {
                return(v => _numericFormatter.Format(v));
            }

            return(v => v);
        }
Example #6
0
        public void Nullable_Integer_No_Value()
        {
            int?testVal = null;

            var formatter = new NumericFormatter();
            var result    = formatter.Format(testVal, 0);

            Assert.Single(result);
            Assert.True(result.ContainsKey(string.Empty), "Should have a single, empty key");
            Assert.Equal(result[string.Empty], string.Empty);
        }
Example #7
0
        public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            var d = (double?)value;

            if (!d.HasValue)
            {
                return;
            }

            var formatted = _doubleFormatter.Format(d.Value);

            double.TryParse(formatted, out double roundedFromString);

            writer.WriteValue(roundedFromString);
        }
Example #8
0
        private static string messagesForInconsistentExtremes(
            IEnumerable <ParameterSelection> allInconsistentExtremes,
            Func <string, string, string, string> extremeAllowedFunc,
            Func <string, string, string, string> extremeNotAllowedFunc,
            Func <IParameter, bool> extremeIsAllowed,
            Func <IParameter, double?> valueFunc)
        {
            return(allInconsistentExtremes.Select(x =>
            {
                var parameter = x.Parameter;
                var value = valueFunc(parameter);
                if (!value.HasValue)
                {
                    return string.Empty;
                }

                var errorRetrieverFunc = extremeIsAllowed(parameter) ? extremeAllowedFunc : extremeNotAllowedFunc;
                var formattedDisplayValue = _numericFormatter.Format(parameter.ConvertToDisplayUnit(value.Value));
                return errorRetrieverFunc(formattedDisplayValue, parameter.DisplayUnit?.Name, x.FullQuantityPath);
            }).Where(x => !string.IsNullOrEmpty(x)).ToString(Environment.NewLine));
        }
Example #9
0
        private string replaceIntervalValue(string label, double value, string intervalPatternLimit)
        {
            var regex = _intervalRegexCache[intervalPatternLimit];

            if (!regex.IsMatch(label))
            {
                return(label);
            }

            //default value to use if number was not specified
            _numericFormatterOptions.DecimalPlace = _defaultFormatterOptions.DecimalPlace;
            uint?numberOfDigits = null;
            var  group          = regex.Match(label).Groups[_numberOfDigitsGroup];

            if (group.Success)
            {
                numberOfDigits = uint.Parse(group.Value);
                _numericFormatterOptions.DecimalPlace = numberOfDigits.Value;
            }

            var intervalPatternToUse = intervalPattern(intervalPatternLimit, numberOfDigits);

            return(label.Replace(intervalPatternToUse, _numericFormatter.Format(value)));
        }
Example #10
0
        private static string createRow(DataRowView row, Dictionary <string, char> tableNotes, ITeXConverter converter, ITeXBuilderRepository builderRepository, DataRelation relation = null, int?level = null)
        {
            var rowLine = new StringBuilder();

            rowLine.Append(setPagebreakDesirability(getPagebreakDesirability(row, level)));

            var columnsCount = 0;

            foreach (DataColumn col in row.DataView.Table.Columns)
            {
                if (col.IsHidden())
                {
                    continue;
                }
                if (relation != null)
                {
                    if (relation.ChildColumns.Contains(col))
                    {
                        continue;
                    }
                }
                columnsCount++;
                if (columnsCount > 1)
                {
                    rowLine.AppendFormat(" {0} ", VALUE_SEPARATOR);
                }
                var colValue = row[col.ColumnName];
                if (colValue == null || colValue == DBNull.Value)
                {
                    continue;
                }
                // datatype specifics
                string value;
                if (col.DataType == typeof(double) || col.DataType == typeof(float))
                {
                    value = converter.StringToTeX(_numericFormatter.Format(Convert.ToDouble(colValue)));
                }
                else if (col.DataType == typeof(DateTime))
                {
                    value = converter.StringToTeX(((DateTime)colValue).ToShortTimeString());
                }
                else if (col.DataType == typeof(Text))
                {
                    value = builderRepository.ChunkFor(colValue);
                }
                else
                {
                    value = converter.StringToTeX(colValue.ToString());
                }
                rowLine.Append(value);
            }
            rowLine.Append(Helper.LineBreak());
            rowLine.Append(phantomline());
            var first = true;

            foreach (DataRelation childrelation in row.DataView.Table.ChildRelations)
            {
                var childView = row.CreateChildView(childrelation);
                if (childView.Count == 0)
                {
                    continue;
                }
                if (first)
                {
                    rowLine.Append(CLine(1, columnsCount));
                    first = false;
                }

                rowLine.Append(multiFirstColumn(columnsCount, ColumnAlignments.c,
                                                createChildTable(childView, tableNotes, childrelation, converter, builderRepository, ref level)));
                rowLine.Append(Helper.LineBreak());
                rowLine.Append(phantomline());
            }
            if (row.DataView.Table.ChildRelations.Count > 0)
            {
                rowLine.Append(CLine(1, columnsCount));
            }

            return(rowLine.ToString());
        }
 private string sizeInMb(long sizeInByte) => _fileSizeFormatter.Format(sizeInByte * 1.0 / Constants.MB_TO_BYTES);
Example #12
0
 private static string displayFor(double value)
 {
     return(_numericFormatter.Format(value));
 }
Example #13
0
 private IEnumerable <object> reportFor(GenderRatio genderRatio)
 {
     yield return(this.ReportValue(_infoRepository.DisplayNameFor(genderRatio.Gender), string.Format("{0}%", _formatter.Format(genderRatio.Ratio))));
 }
        public void should_return_a_message_when_invalid_using_the_display_database_values(double?dbMax, double?valueInHours)
        {
            InitRange(null, null, null, dbMax);
            var formatter  = new NumericFormatter <double>(NumericFormatterOptions.Instance);
            var validation = sut.Validate(x => x.MaxValueInDisplayUnit, valueInHours);

            validation.IsEmpty.ShouldBeEqualTo(false);
            validation.Message.ShouldBeEqualTo(PKSimConstants.Rules.Parameter.MaxLessThanDbMaxValue(sut.ParameterName, formatter.Format(sut.DbMaxValueInDisplayUnit.Value), sut.Unit.Name));
        }
Example #15
0
        private string displayValueFor(double kernValue, IDimension dimension, string displayUnitNane)
        {
            var displayUnit = dimension.UnitOrDefault(displayUnitNane);

            return(_formatter.Format(dimension.BaseUnitValueToUnitValue(displayUnit, kernValue)));
        }
Example #16
0
 protected override void FillUpReport(GenderRatio genderRatio, ReportPart reportPart)
 {
     reportPart.AddToContent("{0} at {1}%", _representationInfoRepository.DisplayNameFor(genderRatio.Gender), _formatter.Format(genderRatio.Ratio));
 }