| // Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| class CompactRoundingTestCase { |
| CompactRoundingTestCase(this.number, this.expected, |
| {this.maximumIntegerDigits, |
| this.minimumIntegerDigits, |
| this.maximumFractionDigits, |
| this.minimumFractionDigits, |
| this.minimumExponentDigits, |
| this.significantDigits}); |
| |
| num number; |
| String expected; |
| int maximumIntegerDigits = null; |
| int minimumIntegerDigits = null; |
| int maximumFractionDigits = null; |
| int minimumFractionDigits = null; |
| int minimumExponentDigits = null; |
| int significantDigits = null; |
| |
| String toString() => "CompactRoundingTestCase for $number, " |
| "maxIntDig: $maximumIntegerDigits, " |
| "minIntDig: $minimumIntegerDigits, " |
| "maxFracDig: $maximumFractionDigits, " |
| "minFracDig: $minimumFractionDigits, " |
| "minExpDig: $minimumExponentDigits, " |
| "sigDig: $significantDigits."; |
| } |
| |
| var oldIntlCompactNumTests = <CompactRoundingTestCase>[ |
| // Most parameters are ignored, giving same result as the default: |
| CompactRoundingTestCase(1750000, "1.75M"), |
| CompactRoundingTestCase(1750000, "1.75M", maximumIntegerDigits: 1), |
| CompactRoundingTestCase(1750000, "1.75M", minimumIntegerDigits: 1), |
| CompactRoundingTestCase(1750000, "1.75M", maximumIntegerDigits: 4), |
| CompactRoundingTestCase(1750000, "0001.75M", minimumIntegerDigits: 4), |
| CompactRoundingTestCase(1750000, "1.75M", maximumFractionDigits: 0), |
| CompactRoundingTestCase(1750000, "1.75M", minimumFractionDigits: 0), |
| CompactRoundingTestCase(1750000, "1.75M", maximumFractionDigits: 4), |
| CompactRoundingTestCase(1750000, "1.75M", minimumFractionDigits: 4), |
| |
| CompactRoundingTestCase(175000, "175K"), |
| CompactRoundingTestCase(175000, "175K", maximumIntegerDigits: 1), |
| CompactRoundingTestCase(175000, "175K", minimumIntegerDigits: 1), |
| CompactRoundingTestCase(175000, "175K", maximumIntegerDigits: 4), |
| CompactRoundingTestCase(175000, "0175K", minimumIntegerDigits: 4), |
| CompactRoundingTestCase(175000, "175K", maximumFractionDigits: 0), |
| CompactRoundingTestCase(175000, "175K", minimumFractionDigits: 0), |
| CompactRoundingTestCase(175000, "175K", maximumFractionDigits: 4), |
| CompactRoundingTestCase(175000, "175K", minimumFractionDigits: 4), |
| |
| CompactRoundingTestCase(1.756, "1.76"), |
| CompactRoundingTestCase(1.756, "1.76", maximumIntegerDigits: 1), |
| CompactRoundingTestCase(1.756, "1.76", minimumIntegerDigits: 1), |
| CompactRoundingTestCase(1.756, "1.76", maximumIntegerDigits: 4), |
| CompactRoundingTestCase(1.756, "0001.76", minimumIntegerDigits: 4), |
| CompactRoundingTestCase(1.756, "1.76", maximumFractionDigits: 0), |
| CompactRoundingTestCase(1.756, "1.76", minimumFractionDigits: 0), |
| CompactRoundingTestCase(1.756, "1.76", maximumFractionDigits: 4), |
| CompactRoundingTestCase(1.756, "1.76", minimumFractionDigits: 4), |
| |
| CompactRoundingTestCase(1.75, "1.75"), |
| CompactRoundingTestCase(1.75, "1.75", maximumIntegerDigits: 1), |
| CompactRoundingTestCase(1.75, "1.75", minimumIntegerDigits: 1), |
| CompactRoundingTestCase(1.75, "1.75", maximumIntegerDigits: 4), |
| CompactRoundingTestCase(1.75, "0001.75", minimumIntegerDigits: 4), |
| CompactRoundingTestCase(1.75, "1.75", maximumFractionDigits: 0), |
| CompactRoundingTestCase(1.75, "1.75", minimumFractionDigits: 0), |
| CompactRoundingTestCase(1.75, "1.75", maximumFractionDigits: 4), |
| CompactRoundingTestCase(1.75, "1.75", minimumFractionDigits: 4), |
| CompactRoundingTestCase(1.75, "1.75", minimumExponentDigits: 3), |
| CompactRoundingTestCase(1.75, "2", significantDigits: 1), |
| CompactRoundingTestCase(1.75, "1.8", significantDigits: 2), |
| CompactRoundingTestCase(1.75, "1.75", significantDigits: 3), |
| CompactRoundingTestCase(1.75, "1.75", significantDigits: 4), |
| ]; |
| |
| var cldr35CompactNumTests = <CompactRoundingTestCase>[ |
| // |
| CompactRoundingTestCase(1750000, "1.8M"), |
| CompactRoundingTestCase(1750000, "1.8M", maximumIntegerDigits: 1), |
| CompactRoundingTestCase(1750000, "1.8M", minimumIntegerDigits: 1), |
| CompactRoundingTestCase(1750000, "1.8M", maximumIntegerDigits: 4), |
| CompactRoundingTestCase(1750000, "0001.8M", minimumIntegerDigits: 4), |
| CompactRoundingTestCase(1750000, "2M", maximumFractionDigits: 0), |
| CompactRoundingTestCase(1750000, "1.75M", minimumFractionDigits: 0), |
| CompactRoundingTestCase(1750000, "1.75M", maximumFractionDigits: 4), |
| CompactRoundingTestCase(1750000, "1.7500M", minimumFractionDigits: 4), |
| CompactRoundingTestCase(1750000, "1.8M", minimumExponentDigits: 3), |
| CompactRoundingTestCase(1750000, "2M", significantDigits: 1), |
| CompactRoundingTestCase(1750000, "1.8M", significantDigits: 2), |
| CompactRoundingTestCase(1750000, "1.75M", significantDigits: 3), |
| CompactRoundingTestCase(1750000, "1.750M", significantDigits: 4), |
| |
| CompactRoundingTestCase(175000, "175K"), |
| CompactRoundingTestCase(175000, "175K", maximumIntegerDigits: 1), |
| CompactRoundingTestCase(175000, "175K", minimumIntegerDigits: 1), |
| CompactRoundingTestCase(175000, "175K", maximumIntegerDigits: 4), |
| CompactRoundingTestCase(175000, "0175K", minimumIntegerDigits: 4), |
| CompactRoundingTestCase(175000, "175K", maximumFractionDigits: 0), |
| CompactRoundingTestCase(175000, "175K", minimumFractionDigits: 0), |
| CompactRoundingTestCase(175000, "175K", maximumFractionDigits: 4), |
| CompactRoundingTestCase(175000, "175.0000K", minimumFractionDigits: 4), |
| CompactRoundingTestCase(175000, "175K", minimumExponentDigits: 3), |
| CompactRoundingTestCase(175000, "200K", significantDigits: 1), |
| CompactRoundingTestCase(175000, "180K", significantDigits: 2), |
| CompactRoundingTestCase(175000, "175K", significantDigits: 3), |
| CompactRoundingTestCase(175000, "175.0K", significantDigits: 4), |
| |
| CompactRoundingTestCase(1750, "01.750K", |
| minimumIntegerDigits: 2, minimumFractionDigits: 3), |
| CompactRoundingTestCase(1750, "01.8K", |
| minimumIntegerDigits: 2, maximumFractionDigits: 1), |
| |
| CompactRoundingTestCase(1.756, "1.8"), |
| CompactRoundingTestCase(1.756, "1.8", maximumIntegerDigits: 1), |
| CompactRoundingTestCase(1.756, "1.8", minimumIntegerDigits: 1), |
| CompactRoundingTestCase(1.756, "1.8", maximumIntegerDigits: 4), |
| CompactRoundingTestCase(1.756, "0001.8", minimumIntegerDigits: 4), |
| CompactRoundingTestCase(1.756, "2", maximumFractionDigits: 0), |
| CompactRoundingTestCase(1.756, "1.756", minimumFractionDigits: 0), |
| CompactRoundingTestCase(1.756, "1.756", maximumFractionDigits: 4), |
| CompactRoundingTestCase(1.756, "1.7560", minimumFractionDigits: 4), |
| CompactRoundingTestCase(1.756, "1.8", minimumExponentDigits: 3), |
| CompactRoundingTestCase(1.756, "2", significantDigits: 1), |
| CompactRoundingTestCase(1.756, "1.8", significantDigits: 2), |
| CompactRoundingTestCase(1.756, "1.76", significantDigits: 3), |
| CompactRoundingTestCase(1.756, "1.756", significantDigits: 4), |
| |
| CompactRoundingTestCase(1.75, "1.8"), |
| CompactRoundingTestCase(1.75, "1.8", maximumIntegerDigits: 1), |
| CompactRoundingTestCase(1.75, "1.8", minimumIntegerDigits: 1), |
| CompactRoundingTestCase(1.75, "1.8", maximumIntegerDigits: 4), |
| CompactRoundingTestCase(1.75, "0001.8", minimumIntegerDigits: 4), |
| CompactRoundingTestCase(1.75, "2", maximumFractionDigits: 0), |
| CompactRoundingTestCase(1.75, "1.75", minimumFractionDigits: 0), |
| CompactRoundingTestCase(1.75, "1.75", maximumFractionDigits: 4), |
| CompactRoundingTestCase(1.75, "1.7500", minimumFractionDigits: 4), |
| CompactRoundingTestCase(1.75, "1.8", minimumExponentDigits: 3), |
| CompactRoundingTestCase(1.75, "2", significantDigits: 1), |
| CompactRoundingTestCase(1.75, "1.8", significantDigits: 2), |
| CompactRoundingTestCase(1.75, "1.75", significantDigits: 3), |
| CompactRoundingTestCase(1.75, "1.750", significantDigits: 4), |
| ]; |