Lines Matching full:tuple
69 static void adjustDecimalFormat(const NumberFormatTestTuple& tuple, DecimalFormat& fmt, in adjustDecimalFormat() argument
71 if (tuple.minIntegerDigitsFlag) { in adjustDecimalFormat()
72 fmt.setMinimumIntegerDigits(tuple.minIntegerDigits); in adjustDecimalFormat()
74 if (tuple.maxIntegerDigitsFlag) { in adjustDecimalFormat()
75 fmt.setMaximumIntegerDigits(tuple.maxIntegerDigits); in adjustDecimalFormat()
77 if (tuple.minFractionDigitsFlag) { in adjustDecimalFormat()
78 fmt.setMinimumFractionDigits(tuple.minFractionDigits); in adjustDecimalFormat()
80 if (tuple.maxFractionDigitsFlag) { in adjustDecimalFormat()
81 fmt.setMaximumFractionDigits(tuple.maxFractionDigits); in adjustDecimalFormat()
83 if (tuple.currencyFlag) { in adjustDecimalFormat()
85 UnicodeString currency(tuple.currency); in adjustDecimalFormat()
92 if (tuple.minGroupingDigitsFlag) { in adjustDecimalFormat()
93 fmt.setMinimumGroupingDigits(tuple.minGroupingDigits); in adjustDecimalFormat()
95 if (tuple.useSigDigitsFlag) { in adjustDecimalFormat()
96 fmt.setSignificantDigitsUsed(tuple.useSigDigits != 0); in adjustDecimalFormat()
98 if (tuple.minSigDigitsFlag) { in adjustDecimalFormat()
99 fmt.setMinimumSignificantDigits(tuple.minSigDigits); in adjustDecimalFormat()
101 if (tuple.maxSigDigitsFlag) { in adjustDecimalFormat()
102 fmt.setMaximumSignificantDigits(tuple.maxSigDigits); in adjustDecimalFormat()
104 if (tuple.useGroupingFlag) { in adjustDecimalFormat()
105 fmt.setGroupingUsed(tuple.useGrouping != 0); in adjustDecimalFormat()
107 if (tuple.multiplierFlag) { in adjustDecimalFormat()
108 fmt.setMultiplier(tuple.multiplier); in adjustDecimalFormat()
110 if (tuple.roundingIncrementFlag) { in adjustDecimalFormat()
111 fmt.setRoundingIncrement(tuple.roundingIncrement); in adjustDecimalFormat()
113 if (tuple.formatWidthFlag) { in adjustDecimalFormat()
114 fmt.setFormatWidth(tuple.formatWidth); in adjustDecimalFormat()
116 if (tuple.padCharacterFlag) { in adjustDecimalFormat()
117 fmt.setPadCharacter(tuple.padCharacter); in adjustDecimalFormat()
119 if (tuple.useScientificFlag) { in adjustDecimalFormat()
120 fmt.setScientificNotation(tuple.useScientific != 0); in adjustDecimalFormat()
122 if (tuple.groupingFlag) { in adjustDecimalFormat()
123 fmt.setGroupingSize(tuple.grouping); in adjustDecimalFormat()
125 if (tuple.grouping2Flag) { in adjustDecimalFormat()
126 fmt.setSecondaryGroupingSize(tuple.grouping2); in adjustDecimalFormat()
128 if (tuple.roundingModeFlag) { in adjustDecimalFormat()
129 fmt.setRoundingMode(tuple.roundingMode); in adjustDecimalFormat()
131 if (tuple.currencyUsageFlag) { in adjustDecimalFormat()
133 fmt.setCurrencyUsage(tuple.currencyUsage, &status); in adjustDecimalFormat()
138 if (tuple.minimumExponentDigitsFlag) { in adjustDecimalFormat()
139 fmt.setMinimumExponentDigits(tuple.minimumExponentDigits); in adjustDecimalFormat()
141 if (tuple.exponentSignAlwaysShownFlag) { in adjustDecimalFormat()
142 fmt.setExponentSignAlwaysShown(tuple.exponentSignAlwaysShown != 0); in adjustDecimalFormat()
144 if (tuple.decimalSeparatorAlwaysShownFlag) { in adjustDecimalFormat()
146 tuple.decimalSeparatorAlwaysShown != 0); in adjustDecimalFormat()
148 if (tuple.padPositionFlag) { in adjustDecimalFormat()
149 fmt.setPadPosition(tuple.padPosition); in adjustDecimalFormat()
151 if (tuple.positivePrefixFlag) { in adjustDecimalFormat()
152 fmt.setPositivePrefix(tuple.positivePrefix); in adjustDecimalFormat()
154 if (tuple.positiveSuffixFlag) { in adjustDecimalFormat()
155 fmt.setPositiveSuffix(tuple.positiveSuffix); in adjustDecimalFormat()
157 if (tuple.negativePrefixFlag) { in adjustDecimalFormat()
158 fmt.setNegativePrefix(tuple.negativePrefix); in adjustDecimalFormat()
160 if (tuple.negativeSuffixFlag) { in adjustDecimalFormat()
161 fmt.setNegativeSuffix(tuple.negativeSuffix); in adjustDecimalFormat()
163 if (tuple.signAlwaysShownFlag) { in adjustDecimalFormat()
164 fmt.setSignAlwaysShown(tuple.signAlwaysShown != 0); in adjustDecimalFormat()
166 if (tuple.localizedPatternFlag) { in adjustDecimalFormat()
168 fmt.applyLocalizedPattern(tuple.localizedPattern, status); in adjustDecimalFormat()
173 fmt.setLenient(NFTT_GET_FIELD(tuple, lenient, 1) != 0); in adjustDecimalFormat()
174 if (tuple.parseIntegerOnlyFlag) { in adjustDecimalFormat()
175 fmt.setParseIntegerOnly(tuple.parseIntegerOnly != 0); in adjustDecimalFormat()
177 if (tuple.decimalPatternMatchRequiredFlag) { in adjustDecimalFormat()
179 tuple.decimalPatternMatchRequired != 0); in adjustDecimalFormat()
181 if (tuple.parseNoExponentFlag) { in adjustDecimalFormat()
184 UNUM_PARSE_NO_EXPONENT, tuple.parseNoExponent, status); in adjustDecimalFormat()
189 if (tuple.parseCaseSensitiveFlag) { in adjustDecimalFormat()
190 fmt.setParseCaseSensitive(tuple.parseCaseSensitive != 0); in adjustDecimalFormat()
217 static DecimalFormat* newDecimalFormat(const NumberFormatTestTuple& tuple, UErrorCode& status) { in newDecimalFormat() argument
222 return newDecimalFormat(NFTT_GET_FIELD(tuple, locale, en), in newDecimalFormat()
223 NFTT_GET_FIELD(tuple, pattern, "0"), in newDecimalFormat()
227 UBool NumberFormatDataDrivenTest::isFormatPass(const NumberFormatTestTuple& tuple, in isFormatPass() argument
232 LocalPointer<DecimalFormat> fmtPtr(newDecimalFormat(tuple, status)); in isFormatPass()
237 adjustDecimalFormat(tuple, *fmtPtr, appendErrorMessage); in isFormatPass()
242 strToDigitList(tuple.format, digitList, status); in isFormatPass()
250 if (appendTo != tuple.output) { in isFormatPass()
252 UnicodeString("Expected: ") + tuple.output + ", got: " + appendTo); in isFormatPass()
266 if (appendTo != tuple.output) { in isFormatPass()
268 UnicodeString("double Expected: ") + tuple.output + ", got: " + appendTo); in isFormatPass()
281 if (appendTo != tuple.output) { in isFormatPass()
283 UnicodeString("int64 Expected: ") + tuple.output + ", got: " + appendTo); in isFormatPass()
291 UBool NumberFormatDataDrivenTest::isToPatternPass(const NumberFormatTestTuple& tuple, in isToPatternPass() argument
296 LocalPointer<DecimalFormat> fmtPtr(newDecimalFormat(tuple, status)); in isToPatternPass()
301 adjustDecimalFormat(tuple, *fmtPtr, appendErrorMessage); in isToPatternPass()
305 if (tuple.toPatternFlag) { in isToPatternPass()
308 if (actual != tuple.toPattern) { in isToPatternPass()
310 UnicodeString("Expected: ") + tuple.toPattern + ", got: " + actual + ". "); in isToPatternPass()
313 if (tuple.toLocalizedPatternFlag) { in isToPatternPass()
316 if (actual != tuple.toLocalizedPattern) { in isToPatternPass()
318 … UnicodeString("Expected: ") + tuple.toLocalizedPattern + ", got: " + actual + ". "); in isToPatternPass()
324 UBool NumberFormatDataDrivenTest::isParsePass(const NumberFormatTestTuple& tuple, in isParsePass() argument
329 LocalPointer<DecimalFormat> fmtPtr(newDecimalFormat(tuple, status)); in isParsePass()
334 adjustDecimalFormat(tuple, *fmtPtr, appendErrorMessage); in isParsePass()
340 fmtPtr->parse(tuple.parse, result, ppos); in isParsePass()
346 if (tuple.output == "fail") { in isParsePass()
351 if (tuple.output == "NaN") { in isParsePass()
357 } else if (tuple.output == "Inf") { in isParsePass()
363 } else if (tuple.output == "-Inf") { in isParsePass()
369 } else if (tuple.output == "-0.0") { in isParsePass()
379 strToDigitList(tuple.output, expectedQuantity, status); in isParsePass()
383 // If this happens, assume that tuple.output is exactly the same format as in isParsePass()
385 expectedString = tuple.output; in isParsePass()
391 … UnicodeString("Expected: ") + tuple.output + " (i.e., " + expectedString + "), but got: " + in isParsePass()
399 UBool NumberFormatDataDrivenTest::isParseCurrencyPass(const NumberFormatTestTuple& tuple, in isParseCurrencyPass() argument
405 LocalPointer<DecimalFormat> fmtPtr(newDecimalFormat(tuple, status)); in isParseCurrencyPass()
410 adjustDecimalFormat(tuple, *fmtPtr, appendErrorMessage); in isParseCurrencyPass()
416 fmtPtr->parseCurrency(tuple.parse, ppos)); in isParseCurrencyPass()
425 if (tuple.output == "fail") { in isParseCurrencyPass()
432 strToDigitList(tuple.output, expectedQuantity, status); in isParseCurrencyPass()
436 // If this happens, assume that tuple.output is exactly the same format as in isParseCurrencyPass()
438 expectedString = tuple.output; in isParseCurrencyPass()
443 … UnicodeString("Expected: ") + tuple.output + " (i.e., " + expectedString + "), but got: " + in isParseCurrencyPass()
448 if (currStr != tuple.outputCurrency) { in isParseCurrencyPass()
451 "Expected currency: ") + tuple.outputCurrency + ", got: " + currStr + ". "); in isParseCurrencyPass()
458 NumberFormatTestTuple tuple; in TestNumberFormatTestTuple() local
461 tuple.setField( in TestNumberFormatTestTuple()
463 tuple.setField( in TestNumberFormatTestTuple()
465 tuple.setField( in TestNumberFormatTestTuple()
472 assertEquals("", "en", tuple.locale.getName()); in TestNumberFormatTestTuple()
473 assertEquals("", "#,##0.00", tuple.pattern); in TestNumberFormatTestTuple()
474 assertEquals("", -10, tuple.minIntegerDigits); in TestNumberFormatTestTuple()
475 assertTrue("", tuple.localeFlag); in TestNumberFormatTestTuple()
476 assertTrue("", tuple.patternFlag); in TestNumberFormatTestTuple()
477 assertTrue("", tuple.minIntegerDigitsFlag); in TestNumberFormatTestTuple()
478 assertFalse("", tuple.formatFlag); in TestNumberFormatTestTuple()
482 "", "{locale: en, pattern: #,##0.00, minIntegerDigits: -10}", tuple.toString(appendTo)); in TestNumberFormatTestTuple()
484 tuple.clear(); in TestNumberFormatTestTuple()
487 "", "{}", tuple.toString(appendTo)); in TestNumberFormatTestTuple()
488 tuple.setField( in TestNumberFormatTestTuple()
494 tuple.setField( in TestNumberFormatTestTuple()