void setRounder() { // Prevents an exception from being thrown if (RoundingAlgorithm == RoundingAlgorithm.None) { Formatter.NumberRounder = null; return; } if (this.NumberRounder == NumberBoxNumberRounder.IncrementNumberRounder) { IncrementNumberRounder nr = new IncrementNumberRounder(); if (this.IncrementPrecision != 0) { nr.Increment = this.IncrementPrecision; } nr.RoundingAlgorithm = this.RoundingAlgorithm; Formatter.NumberRounder = nr; } else { SignificantDigitsNumberRounder nr = new SignificantDigitsNumberRounder(); if (this.SignificantDigitPrecision != 0) { nr.SignificantDigits = this.SignificantDigitPrecision; } nr.RoundingAlgorithm = this.RoundingAlgorithm; Formatter.NumberRounder = nr; } }
public void When_UsingVariousSignificantDigits(double value, uint significantDigits, double expected) { var sut = new SignificantDigitsNumberRounder(); sut.SignificantDigits = significantDigits; var rounded = sut.RoundDouble(value); Assert.AreEqual(expected, rounded); }
public void When_FormatDoubleUsingSignificantDigitsNumberRounder() { var sut = new PercentFormatter(); SignificantDigitsNumberRounder rounder = new SignificantDigitsNumberRounder(); rounder.SignificantDigits = 1; sut.NumberRounder = rounder; var formatted = sut.FormatDouble(1.8); Assert.AreEqual("200.00%", formatted); }
private void When_UsingARoundingAlgorithmCore(double value, RoundingAlgorithm roundingAlgorithm, double expected) { var sut = new SignificantDigitsNumberRounder(); sut.SignificantDigits = 2; sut.RoundingAlgorithm = roundingAlgorithm; var rounded = sut.RoundDouble(value); Assert.AreEqual(expected, rounded); }
private string GenerateValue_ValueString(string resourceString, double ratingValue) { DecimalFormatter formatter = new DecimalFormatter(); SignificantDigitsNumberRounder rounder = new SignificantDigitsNumberRounder(); formatter.NumberRounder = rounder; string maxRatingString = GetRatingControl().MaxRating.ToString(); int fractionDigits = DetermineFractionDigits(ratingValue); int sigDigits = DetermineSignificantDigits(ratingValue, fractionDigits); formatter.FractionDigits = fractionDigits; rounder.SignificantDigits = (uint)sigDigits; string ratingString = formatter.Format(ratingValue); return(StringUtil.FormatString(resourceString, ratingString, maxRatingString)); }
public void When_SignificantDigits_Is_Zero_Then_Should_Throw() { var sut = new SignificantDigitsNumberRounder(); Assert.ThrowsException <ArgumentException>(() => sut.SignificantDigits = 0); }
public void When_RoundingAlgorithm_Is_None_Then_Should_Throw() { var sut = new SignificantDigitsNumberRounder(); Assert.ThrowsException <ArgumentException>(() => sut.RoundingAlgorithm = RoundingAlgorithm.None); }