﻿// Copyright (C) 2015-2016, International Business Machines
// Corporation and others.  All Rights Reserved.
//
// This file is divided into test suites separated by whitespace. Each test
// suite starts with the name of the test followed by global field settings
// for that test suite. After the global settings, comes "begin", the
// per-test field names, and finally the test specific field values, 1 test
// per line.
// For more information on the format of this file, including all the available
// field names, please see
// https://docs.google.com/document/d/1T2P0p953_Lh1pRwo-5CuPVrHlIBa_wcXElG-Hhg_WHM/edit?usp=sharing

test plus sign
set locale ar
set pattern +0;-#
begin
format	output	breaks
6	\u200F+\u0666	JK
-6	\u200F-\u0666	JK

test basic patterns
set locale fr_FR
set format 1234.567
begin
pattern	output
#,##0.##	1\u00a0234,57
0.##	1234,57
0	1235
#,##0.###	1\u00a0234,567
###0.######	1234,567
###0.0000#	1234,5670
00000.0000	01234,5670
#,##0.00 \u00a4	1\u00a0234,57 \u20ac
'tick''bitten '0.00	tick'bitten 1234,57
'tick' 'bitten '0.00	tick bitten 1234,57


test minimum and maximum fraction digits
set locale en
set minIntegerDigits 2
set maxIntegerDigits 4
set minFractionDigits 3
set maxFractionDigits 5
begin
format	output
6	06.000
6.000005	06.000
6.000006	06.00001
1002003004005	4005.000
-1002003004005	-4005.000
12	12.000
12345	2345.000
72.1234	72.1234

test int64
set locale en
begin
format	output
1002003004005	1002003004005
-1002003004005	-1002003004005

test rounding
set locale fr
begin
pattern	format	output	breaks
0.5	1.25	1,0	K
0.5	1.75	2,0	K
0.5	-1.25	-1,0	K
00.5	-1.75	-02,0	K
4	2.0	0	K
4	6.0	8	K
4	10.0	8	K
2.70	99.0	99,90	K
2.73	272.0	273,00	K
#,#3.70	104.0	1\u00a003,60	K

test significant digits
set locale en
set pattern #,#@,@###
begin
format	output	breaks
7	7.0	K
23	23	K
100	100	K
1000	1000	K
10000	1,0000	K
10001	1,0001	K
10001.5	1,0002	K
1234567	1,23,4600	K
-1234567	-1,23,4600	K
3.14159	3.1416	K

test scientific notation
set locale fr
begin
pattern	format	output	breaks
0.00E0	12345	1,23E4
000.00E0	12300	123,00E2
000.0#E0	12300	123,0E2
000.0#E0	12300.1	123,0E2
000.0#E0	12301.0	123,01E2
// JDK does not support exponent signs
000.0#E+00	12301.0	123,01E+02	K
// JDK gives 12,345E3. JDK seems to include the hashes in significant digits
##0.00E0	12345	12,3E3	K
// JDK gives 12,3001E3
##0.0000E0	12300.1	12,300E3	K
// JDK gives 12,3001E3
##0.000#E0	12300.1	12,30E3	K
##0.000#E0	12301	12,301E3
0.05E0	12301.2	1,25E4	JK
##0.000#E0	0.17	170,0E-3
// JDK doesn't support significant digits in exponents
@@@E0	6235	6,24E3	K
@@@#E0	6200	6,20E3	K
@@@#E0	6201	6,201E3	K
@@@#E0	6201.7	6,202E3	K
@@@#E00	6201.7	6,202E03	K
@@@#E+00	6201.7	6,202E+03	K

test percents
set locale fr
begin
pattern	format	output	breaks
0.0%	0.573	57,3%
%0.0	0.573	%57,3
p%p0.0	0.573	p%p57,3
p'%'p0.0	0.573	p%p0,6
%@@@@	0.0326	%3,260	K
%#,@@@	15.43	%1\u00a0540	K
// JDK does not support rounding increments
%#,##4.1	16.55	%1\u00a0656,4	K
// JDK gives %16,255E3
%##0.00E0	162.55	%16,3E3	K

test permille
set locale fr
begin
pattern	format	output	breaks
0.0\u2030	0.573	573,0‰
\u20300.0	0.573	\u2030573,0
p\u2030p0.0	0.573	p\u2030p573,0
p'\u2030'p0.0	0.573	p\u2030p0,6
\u2030@@@@	0.0326	\u203032,60	K
\u2030#,@@@	15.43	\u203015\u00a0400	K
\u2030#,##4.1	16.55	\u203016\u00a0551,7	K
// JDK gives \u2030162,55E3
\u2030##0.00E0	162.55	\u2030163E3	K

test padding
set locale fr_FR
begin
pattern	format	output	breaks
// JDK does not seem to support padding
$**####,##0	1234	$***1\u00a0234	K
*x$####,##0	1234	xxx$1\u00a0234	K
####,##0*x$	1234	1\u00a0234xxx$	K
####,##0$*x	1234	1\u00a0234$xxx	K
// JDK doesn't seem to handle suffixes correctly dropping the 'nx' entirely
####,##0$*x;ne#n	-1234	ne1\u00a0234nx	K
####,##0$*x;n#'*'	-1234	n1\u00a0234*xx	K
*y%4.2######	4.33	yyyy%432,6	K
// In J ICU adds padding as if 'EUR' is only 2 chars (2 * 0xa4)
\u00a4\u00a4 **####0.00	433.0	EUR *433,00	JK
// In J ICU adds padding as if 'EUR' is only 2 chars (2 * 0xa4)
\u00a4\u00a4 **#######0	433.0	EUR *433,00	JK

test padding and currencies
begin
locale	currency	pattern	format	output	breaks
// In J, JPY is considered 2 char (2 * 0xa4) even though padding is done
// after prefix. In C this test works.
fr	JPY	\u00a4\u00a4 **#######0	433.22	JPY ****433	JK
// JDK doesn't correct rounding for currency, shows USD (433
en	USD	\u00a4\u00a4 **#######0;\u00a4\u00a4 (#)	-433.22	USD (433.22)	K

test currencies
set locale fr
set format 1234.567
begin
pattern	currency	output	breaks
// JDK gives shows EUR instead of the euro symbol in this case
#,##0.00 \u00a4	EUR	1\u00a0234,57 \u20ac	K
// JDK gives 1\u00A0234,57. JDK doesn't seem to correct rounding
// based on currency.
#,##0.00 \u00a4	JPY	1\u00a0235 JPY	K

test prefixes and suffixes
set locale en
set pattern 0.00+;(#)
begin
format	output	breaks
7	7.00+
// JDK does not support negative suffixes
-3.5	(3.50)	K

test minimum grouping digits
set locale en
set pattern #,##0
set minGroupingDigits 2
begin
format	output	breaks
// min grouping digits not supported in any existing implementation
// but could be easily added to the new DecimalFormat C code.
1000	1000	JK
10000	10,000
100000	100,000
1000000	1,000,000

test min max fraction digits
set locale en
set pattern #,##0.###
set format 1234.567
begin
minFractionDigits	maxFractionDigits	output
0	0	1,235
0	2	1,234.57
4	5	1,234.5670

test min max integer digits
set locale en
set pattern #,##0.###
set format 1234.567
begin
minIntegerDigits	maxIntegerDigits	output
0	0	.567
0	3	234.567
5	5	01,234.567

test min max fraction digits scientific
set locale en
set pattern #E0
set format 299792458.0
begin
minIntegerDigits	maxIntegerDigits	minFractionDigits	maxFractionDigits	output	breaks
// JDK gives .3E9 instead of unlimited precision.
0	1	0	0	2.99792458E8	K
1	1	0	0	3E8
// JDK gives E0 instead of allowing for unlimited precision
0	0	0	0	2.99792458E8	K
// JDK gives .299792E9
0	1	0	5	2.9979E8	K
// JDK gives 300E6	
0	3	0	0	299.792458E6	K
// JDK gives 299.8E6 (maybe maxInt + maxFrac instead of minInt + maxFrac)?
0	3	0	1	300E6	K
// JDK gives 299.7925E6
2	3	0	4	299.792E6	K
// JDK gives 299.79246E6
2	3	0	5	299.7925E6	K
3	3	0	5	299.79246E6
3	3	0	4	299.7925E6
2	2	0	3	29.979E7
4	4	0	0	2998E5
0	0	1	5	.29979E9
// JDK gives E0
0	0	1	0	2.99792458E8	K
// JDK gives .2998E9
0	0	0	4	2.998E8	K
// JDK uses 8 + 6 for significant digits instead of 2 + 6
2	8	1	6	2.9979246E8	K
// Treat max int digits > 8 as being the same as min int digits.
// This behavior is not spelled out in the specification.
// JDK fails here because it tries to use 9 + 6 = 15 sig digits.
2	9	1	6	29.979246E7	K

test significant digits scientific
set locale en
set pattern #E0
set format 290000000.0
begin
minSigDigits	maxSigDigits	output	breaks
0	1	3E8	K
0	2	2.9E8	K
0	3	2.9E8	K
1	1	3E8	K
1	2	2.9E8	K
1	3	2.9E8	K
2	2	2.9E8	K
2	3	2.9E8	K
3	3	2.90E8	K
3	4	2.90E8	K

test min max fraction digits scientific 2
set locale en
set pattern #E0
set format 29979245.0
begin
minIntegerDigits	maxIntegerDigits	minFractionDigits	maxFractionDigits	output	breaks
// JDK gives E0
0	0	0	0	2.9979245E7	K
// JDK gives .3E8
0	1	0	0	2.9979245E7	K
// JDK gives 2998E4.
0	4	0	0	2997.9245E4	K

test ticket 11524
set locale en
set pattern #,##0.###
begin
format	maxIntegerDigits	output
123	1	3
123	-2147483648	0
12345	1	5
12345	-2147483648	0
5.3	1	5.3
5.3	-2147483648	.3

test patterns with zero
set locale en
set format 0
begin
pattern	output
#.#	0
#.	0.
.#	.0
#	0
00.000E00	00.000E00
0.####E0	0E0
##0.######E000	0E000

test significant digits manually set
set locale en_US
set pattern 0.0
set useSigDigits 1
set minSigDigits 3
set maxSigDigits 5
begin
format	output	breaks
0.0012	0.00120	K
0.00123	0.00123	K
0.001234	0.001234	K
0.0012345	0.0012345	K
0.00123456	0.0012346	K
-43	-43.0	K
-43.7	-43.7	K
-43.76	-43.76	K
-43.762	-43.762	K
-43.7626	-43.763	K

test grouping used setters
set locale en_US
set pattern #,##0
set format 12345
begin
output	useGrouping
12,345
12,345	1
12345	0

test grouping setters
set locale en_US
set pattern 0
set format 123456789
set useGrouping 1
begin
output	grouping	breaks	grouping2	minGroupingDigits
1,2345,6789	4
1,23,45,6789	4	K	2
1,23,45,6789	4	K	2	2
123,456789	6	K	6	3
123456789	6	JK	6	4

test multiplier setters
set locale en_US
begin
format	multiplier	output	breaks
23	-12	-276
23	-1	-23
// ICU4J and JDK throw exception on zero multiplier. ICU4C does not.
23	0	23	JK
23	1	23
23	12	276
-23	12	-276
-23	-12	276

test rounding setters
set locale en_US
set pattern 0.0#
set roundingIncrement 0.25
begin
format	output	breaks
-0.35	-0.25	K
0.35	0.25	K
0.39	0.5	K
0.62	0.5	K
0.63	0.75	K

test padding setters
set locale en_US
set pattern bill0
set format 1357
begin
padCharacter	formatWidth	output	breaks
*	8	bill1357	K
*	9	*bill1357	K
^	10	^^bill1357	K

test use scientific setter
set locale en_US
set pattern 0.00
set format 186283
begin
output	breaks	useScientific
186283.00
1.86E5	K	1
186283.00	K	0

test rounding mode setters
set locale en_US
set pattern 0.#
set roundingIncrement 0.5
begin
format	roundingMode	output	breaks
1.24	halfUp	1	K
1.25	halfUp	1.5	K
1.25	halfDown	1	K
1.26	halfDown	1.5	K
1.25	halfEven	1	K
-1.01	up	-1.5	K
-1.49	down	-1	K
1.01	up	1.5	K
1.49	down	1	K
-1.01	ceiling	-1	K
-1.49	floor	-1.5	K

test currency usage setters
// TODO: Find a country and currency where standard and cash differ
set locale CH
set currency CHF
set pattern \u00a4\u00a4 0
begin
format	currencyUsage	output	breaks
0.37	standard	CHF 0.37	K
// TODO: Get the rounding data into ICU4C and ICU4J
0.37	cash	CHF 0.35	CJK

test exponent parameter setters
set locale en_US
set pattern 0.##E0
set format 299792458
begin
decimalSeparatorAlwaysShown	exponentSignAlwaysShown	minimumExponentDigits	output	breaks
0	0	2	3E08	K
0	1	3	3E+008	K
// ICU DecimalFormat J does not honor decimalSeparatorAlwaysShown
// for scientific notation. But JDK DecimalFormat does honor
// decimalSeparatorAlwaysShown K=JDK; C=ICU4C; J=ICU4J
// See ticket 11621
1	0	2	3.E08	JK
1	1	3	3.E+008	JK
1	0	1	3.E8	J
0	0	1	3E8

test exponent decimalSeparatorAlwaysShown default
set locale en_US
set pattern 0.##E0
begin
format	output	breaks	decimalSeparatorAlwaysShown
// decimalSeparatorAlwaysShown off by default
299792458	3E8
299000000	2.99E8
299792458	3.E8	J	1

test pad position setters
set locale en_US
set pattern **[#####0.##];((#))
begin
format	padPosition	output	breaks
12.34	beforePrefix	****[12.34]	K
12.34	afterPrefix	[****12.34]	K
12.34	beforeSuffix	[12.34****]	K
12.34	afterSuffix	[12.34]****	K
-12.34	beforePrefix	**((12.34))	K
-12.34	afterPrefix	((**12.34))	K
-12.34	beforeSuffix	((12.34**))	K
-12.34	afterSuffix	((12.34))**	K

test affix setters
set locale fr_FR
set currency EUR
set pattern 0.00
begin
format	positivePrefix	positiveSuffix	negativePrefix	negativeSuffix	output
12.34	%				%12,34
12.34		\u00a4\u00a4			12,34\u00a4\u00a4
12.34			-	+	12,34
-12.34			-	+	-12,34+
-12.34			\u00a4		\u00a412,34
12.34			\u00a4		12,34
-12.34				%	12,34%
12.34				%	12,34

test more affix setters
set locale fr_FR
set pattern %0.00
begin
format	positivePrefix	negativePrefix	output
0.648	booya	cooya	booya64,80

test nan and infinity
set locale en_US
set pattern [0.00];(#)
begin
format	output	breaks
Inf	[\u221e]	K
-Inf	(\u221e)	K
NaN	NaN	K

test nan and infinity with multiplication
set locale en
set multiplier 100
begin
format	output	breaks
Inf	\u221e
-Inf	-\u221e
NaN	NaN	K

test nan and infinity with padding
set locale en_US
set pattern $$$0.00$
set formatWidth 7
begin
format	padPosition	output	breaks
Inf	beforePrefix	  $$$\u221e$	K
Inf	afterPrefix	$$$  \u221e$	K
Inf	beforeSuffix	$$$\u221e  $	K
Inf	afterSuffix	$$$\u221e$  	K
NaN	beforePrefix	    NaN	K
NaN	afterPrefix	    NaN	K
NaN	beforeSuffix	NaN    	K
NaN	afterSuffix	NaN    	K

test apply localized patterns
begin
locale	localizedPattern	format	output	breaks
en	0%	0.4376	44%
// This next test breaks JDK. JDK doesn't multiply by 100.
fa	\u06f0\u066a	0.4376	\u06f4\u06f4\u066a	K

test toPattern
set locale en
begin
pattern	toPattern	breaks
// JDK doesn't support any patterns with padding or both negative prefix and suffix
// Breaks ICU4J See ticket 11671
**0,000	**0,000		JK
**##0,000	**##0,000	K
**###0,000	**###0,000	K
**####0,000	**#,##0,000	K
###,000.	#,000.
0,000	#0,000
.00	#.00
000	#000
000,000	#,000,000
pp#,000	pp#,000
00.##	#00.##
#,#00.025	#,#00.025
// No secondary grouping in JDK
#,##,###.02500	#,##,###.02500	K
pp#,000;(#)	pp#,000;(#,000)	K
**####,##,##0.0##;(#)	**#,##,##,##0.0##;**(##,##,##0.0##)	K
// No significant digits in JDK
@@###	@@###	K
@,@#,###	@,@#,###	K
0.00E0	0.00E0
@@@##E0	@@@##E0	K
###0.00#E0	###0.00#E0
##00.00#E0	##00.00#E0
0.00E+00	0.00E+00	K
000.00E00	000.00E00
###0.00#E00	###0.00#E00

test parse
set locale en
set pattern +#,##0.0###;(#)
begin
parse	output	breaks
+5,347.25	5347.25
+5,347,.25	5347.25
+5,347,	5347
+5347,,,	5347
+5347,,,d8	5347
(5,347.25)	-5347.25
// J requires prefix and suffix for lenient parsing, but C doesn't
5,347.25	5347.25	JK
(5,347.25	-5347.25	J
-5,347.25	fail
+3.52E4	35200
(34.8E-3)	-0.0348
// JDK stops parsing at the spaces. JDK doesn't see space as a grouping separator
(34  25E-1)	-342.5	K
(34,,25E-1)	-342.5
// J doesn't allow trailing separators before E but C does
(34,,25,E-1)	-342.5	J
(34  25 E-1)	-342.5	JK
(34,,25 E-1)	-3425	J
// Spaces are not allowed after exponent symbol
// C parses up to the E but J bails
(34  25E -1)	-3425	JK
+3.52EE4	3.52
+1,234,567.8901	1234567.8901
+1,23,4567.8901	1234567.8901
+1,23,4567.89,01	1234567.89
+1,23,456.78.9	123456.78
+12.34,56	12.34
+79,,20,3	79203
+79  20 3	79203	K
// Parsing stops at comma as it is different from other separators
+79  20,3	7920	K
+79,,20 3	7920
+  79	79	K
+,79,,20,3	79203
+7920d3	7920
// Whitespace immediately after prefix doesn't count as digit separator
// in C but is does in J
+ ,79,,20,3	79203	JK
(  19 45)	-1945	K
// C allows trailing separators when there is a prefix and suffix.
// J allows trailing separators only when there is just a prefix.
// In this case, J just bails
(  19 45 )	-1945	JK
(,,19,45)	-1945
// C parses to the space, but J bails
(,,19 45)	-19	J
// J bails b/c comma different separator than space. C doesn't treat leading spaces
// as a separator.
(  19,45)	-1945	JK
// J bails. Doesn't allow trailing separators when there is prefix and suffix.
(,,19,45,)	-1945	J
// J bails on next 4 because J doesn't allow letters inside prefix and suffix.
// C will parse up to the letter.
(,,19,45,d1)	-1945	J
(,,19,45d1)	-1945	J
(  19 45 d1)	-1945	JK
(  19 45d1)	-1945	JK
// J does allow trailing separator before a decimal point
(19,45,.25)	-1945.25
// 2nd decimal points are ignored
+4.12.926	4.12

test parse suffix
set locale en
set pattern #,##0.0###+;#-
begin
parse	output	breaks
// C sees this as -3426, don't understand why
3426	-3426	JK
3426+	3426
// J bails, but JDK will parse up to the space and get 34.
// C sees -34
34 d1+	-34	JK
// JDK sees this as -1234 for some reason
// J bails b/c of trailing separators
// C parses until trailing separators, but sees -1234
1,234,,,+	-1234	JK
1,234-	-1234
// J bails because of trailing separators
1,234,-	-1234	J
// J bails here too
1234  -	-1234	J



test parse strict
set locale en
set pattern +#,##0.0###;(#)
set lenient 0
begin
parse	output	breaks
+123d5	123
+5347.25	5347.25
// separators in wrong place cause failure, no separators ok.
+5,347.25	5347.25
(5347.25)	-5347.25
(5,347.25)	-5347.25
// JDK does allow separators in the wrong place and parses as -5347.25
(53,47.25)	fail	K
// strict requires prefix or suffix
5,347.25	fail
+3.52E4	35200
(34.8E-3)	-0.0348
(3425E-1)	-342.5
// Strict doesn't allow separators in sci notation.
(3,425)	-3425
// JDK allows separators in sci notation and parses as -342.5
(3,425E-1)	fail	K
// Both prefix and suffix needed for strict.
// JDK accepts this and parses as -342.5
(3425E-1	fail	K
+3.52EE4	3.52
+1,234,567.8901	1234567.8901
// With strict digit separators don't have to be the right type
// JDK doesn't acknowledge space as a separator
+1 234 567.8901	1234567.8901	K
// In general the grouping separators have to match their expected
// location exactly. The only exception is when string being parsed
// have no separators at all.
+1,234,567.8901	1234567.8901
// JDK doesn't require separators to be in the right place
+1,23,4567.8901	fail	K
+1234,567.8901	fail	K
+1,234567.8901	fail	K
+1234567.8901	1234567.8901
// Comma after decimal means parse to a comma
+123,456.78,9	123456.78
// A decimal after a decimal means bail
// JDK parses as 123456.78
+123,456.78.9	fail	K
+79	79
+79	79
+ 79	fail
// JDK parses as -1945
(1,945d1)	fail	K

test parse integer only
set locale en
set pattern 0.00
set parseIntegerOnly 1
begin
parse	output	breaks
35	35
+35	fail
-35	-35
2.63	2
-39.99	-39

test parse no exponent flag
set pattern 0
set locale en
begin
parseNoExponent	parse	output	breaks
// JDK doesn't allow lowercase exponent but ICU4J and ICU4C do.
0	5e2	500	K
0	5.3E2	530
// See ticket 11725
1	5e2	5	J
1	5.3E2	5.3	JK

test parse currency fail
set pattern 0
set locale en
begin
parse	output	outputCurrency	breaks
// See ticket 11735
53.45	fail	USD	J

test parse strange prefix
set locale en
set positivePrefix dd
set negativePrefix ddd
begin
parse	output
dd4582	4582
ddd4582	-4582

test parse strange suffix
set locale en
set positiveSuffix dd
set negativePrefix 
set negativeSuffix ddd
begin
parse	output
4582dd	4582
4582ddd	-4582

test really strange suffix
set locale en
set positiveSuffix 9K
set negativePrefix 
set negativeSuffix 9N
begin
parse	output	breaks
// C consumes the '9' as a digit and assumes number is negative
// J and JDK bail
// 6549K	654	CJK
// C consumes the '9' as a digit and assumes number is negative
// J and JDK bail
// 6549N	-654	CJK

test really strange prefix
set locale en
set positivePrefix 82
set negativePrefix 28
begin
parse	output
8245	45
2845	-45

test select
set locale sr
begin
format	pattern	plural
Inf	0	other
-Inf	0	other
NaN	0	other
Inf	0.0	other
-Inf	0.0	other
NaN	0.0	other
1	0	one
1	0.0	other
2	0	few
2	0.0	other
2	0E0	other
5.1	0.0	one
5.09	0.0	one

test parse currency ISO
set pattern 0.00 \u00a4\u00a4;(#) \u00a4\u00a4
set locale en_US
begin
parse	output	outputCurrency	breaks
$53.45	53.45	USD
53.45 USD	53.45	USD
USD 53.45	53.45	USD	J
53.45USD	fail	USD
USD53.45	53.45	USD
(7.92) USD	-7.92	USD
(7.92) EUR	-7.92	EUR
(7.926) USD	-7.926	USD
(7.926 USD)	fail	USD
(USD 7.926)	fail	USD
USD (7.926)	fail	USD
USD (7.92)	fail	USD
(7.92)USD	fail	USD
USD(7.92)	fail	USD
(8) USD	-8	USD
-8 USD	fail	USD
67 USD	67	USD
53.45$	fail	USD
US Dollars 53.45	53.45	USD	J
53.45 US Dollars	53.45	USD
US Dollar 53.45	53.45	USD	J
53.45 US Dollar	53.45	USD
US Dollars53.45	53.45	USD
53.45US Dollars	fail	USD
US Dollar53.45	53.45	USD
US Dollat53.45	fail	USD
53.45US Dollar	fail	USD
US Dollars (53.45)	fail	USD
(53.45) US Dollars	-53.45	USD
US Dollar (53.45)	fail	USD
(53.45) US Dollar	-53.45	USD
US Dollars(53.45)	fail	USD
(53.45)US Dollars	fail	USD
US Dollar(53.45)	fail	USD
US Dollat(53.45)	fail	USD
(53.45)US Dollar	fail	USD


test parse currency ISO negative
set pattern 0.00 \u00a4\u00a4;-# \u00a4\u00a4
set locale en_US
begin
parse	output	outputCurrency	breaks
$53.45	53.45	USD
53.45 USD	53.45	USD
USD 53.45	53.45	USD	J
53.45USD	fail	USD
USD53.45	53.45	USD
-7.92 USD	-7.92	USD
-7.92 EUR	-7.92	EUR
-7.926 USD	-7.926	USD
USD -7.926	fail	USD
-7.92USD	fail	USD
USD-7.92	fail	USD
-8 USD	-8	USD
67 USD	67	USD
53.45$	fail	USD
US Dollars 53.45	53.45	USD	J
53.45 US Dollars	53.45	USD
US Dollar 53.45	53.45	USD	J
53.45 US Dollar	53.45	USD
US Dollars53.45	53.45	USD
53.45US Dollars	fail	USD
US Dollar53.45	53.45	USD
US Dollat53.45	fail	USD
53.45US Dollar	fail	USD


test parse currency long
set pattern 0.00 \u00a4\u00a4\u00a4;(#) \u00a4\u00a4\u00a4
set locale en_US
begin
parse	output	outputCurrency	breaks
$53.45	53.45	USD
53.45 USD	53.45	USD
USD 53.45	53.45	USD	J
// See ticket 11735
53.45USD	fail	USD	J
USD53.45	53.45	USD
(7.92) USD	-7.92	USD
(7.926) USD	-7.926	USD
(7.926 USD)	fail	USD
(USD 7.926)	fail	USD
USD (7.926)	fail	USD
USD (7.92)	fail	USD
(7.92)USD	fail	USD
USD(7.92)	fail	USD
(8) USD	-8	USD
// See ticket 11735
-8 USD	fail	USD	J
67 USD	67	USD
// See ticket 11735
53.45$	fail	USD	J
US Dollars 53.45	53.45	USD	J
53.45 US Dollars	53.45	USD
US Dollar 53.45	53.45	USD	J
53.45 US Dollar	53.45	USD
US Dollars53.45	53.45	USD
// See ticket 11735
53.45US Dollars	fail	USD	J
US Dollar53.45	53.45	USD
US Dollat53.45	fail	USD
// See ticket 11735
53.45US Dollar	fail	USD	J


test parse currency short
set pattern 0.00 \u00a4;(#) \u00a4
set locale en_US
begin
parse	output	outputCurrency	breaks
$53.45	53.45	USD
53.45 USD	53.45	USD
USD 53.45	53.45	USD	J
53.45USD	fail	USD
USD53.45	53.45	USD
(7.92) USD	-7.92	USD
(7.926) USD	-7.926	USD
(7.926 USD)	fail	USD
(USD 7.926)	fail	USD
USD (7.926)	fail	USD
USD (7.92)	fail	USD
(7.92)USD	fail	USD
USD(7.92)	fail	USD
(8) USD	-8	USD
-8 USD	fail	USD
67 USD	67	USD
53.45$	fail	USD
US Dollars 53.45	53.45	USD	J
53.45 US Dollars	53.45	USD
US Dollar 53.45	53.45	USD	J
53.45 US Dollar	53.45	USD
US Dollars53.45	53.45	USD
53.45US Dollars	fail	USD
US Dollar53.45	53.45	USD
US Dollat53.45	fail	USD
53.45US Dollar	fail	USD


test parse currency short prefix
set pattern \u00a40.00;(\u00a4#)
set locale en_US
begin
parse	output	outputCurrency	breaks
$53.45	53.45	USD
53.45 USD	fail	USD
USD 53.45	53.45	USD	J
53.45USD	fail	USD
USD53.45	53.45	USD
(7.92) USD	fail	USD
(7.926) USD	fail	USD
(7.926 USD)	fail	USD
(USD 7.926)	-7.926	USD	J
USD (7.926)	fail	USD
USD (7.92)	fail	USD
(7.92)USD	fail	USD
USD(7.92)	fail	USD
(8) USD	fail	USD
-8 USD	fail	USD
67 USD	fail	USD
53.45$	fail	USD
US Dollars 53.45	53.45	USD	J
53.45 US Dollars	53.45	USD
US Dollar 53.45	53.45	USD	J
53.45 US Dollar	53.45	USD
US Dollars53.45	53.45	USD
53.45US Dollars	fail	USD
US Dollar53.45	53.45	USD
53.45US Dollar	fail	USD

test format foreign currency
set locale fa_IR
begin
pattern	format	output	breaks
\u00a4\u00a4\u00a4 0.00;\u00a4\u00a4\u00a4 #	1235	\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 \u06F1\u06F2\u06F3\u06F5	K
\u00a4\u00a4 0.00;\u00a4\u00a4 -#	1235	IRR \u06F1\u06F2\u06F3\u06F5	K
\u00a4 0.00;\u00a4 -#	1235	\u0631\u06cc\u0627\u0644 \u06F1\u06F2\u06F3\u06F5	K

test parse foreign currency symbol
set pattern \u00a4 0.00;\u00a4 -#
set locale fa_IR
begin
parse	output	outputCurrency
\u0631\u06cc\u0627\u0644 \u06F1\u06F2\u06F3\u06F5	1235	IRR
IRR \u06F1\u06F2\u06F3\u06F5	1235	IRR
\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 \u06F1\u06F2\u06F3\u06F5	1235	IRR
IRR 1235	1235	IRR
\u0631\u06cc\u0627\u0644 1235	1235	IRR
\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 1235	1235	IRR

test parse foreign currency ISO
set pattern \u00a4\u00a4 0.00;\u00a4\u00a4 -#
set locale fa_IR
begin
parse	output	outputCurrency
\u0631\u06cc\u0627\u0644 \u06F1\u06F2\u06F3\u06F5	1235	IRR
IRR \u06F1\u06F2\u06F3\u06F5	1235	IRR
\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 \u06F1\u06F2\u06F3\u06F5	1235	IRR
IRR 1235	1235	IRR
\u0631\u06cc\u0627\u0644 1235	1235	IRR
\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 1235	1235	IRR

test parse foreign currency full
set pattern \u00a4\u00a4\u00a4 0.00;\u00a4\u00a4\u00a4 -#
set locale fa_IR
begin
parse	output	outputCurrency
\u0631\u06cc\u0627\u0644 \u06F1\u06F2\u06F3\u06F5	1235	IRR
IRR \u06F1\u06F2\u06F3\u06F5	1235	IRR
\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 \u06F1\u06F2\u06F3\u06F5	1235	IRR
IRR 1235	1235	IRR
\u0631\u06cc\u0627\u0644 1235	1235	IRR
\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 1235	1235	IRR

test parse currency with foreign symbols symbol english
set pattern \u00a4 0.00;\u00a4 (#)
set locale en_US
begin
parse	output	outputCurrency
EUR 7.82	7.82	EUR
\u20ac 7.82	7.82	EUR
Euro 7.82	7.82	EUR
Euros 7.82	7.82	EUR

test parse currency with foreign symbols ISO english
set pattern \u00a4\u00a4 0.00;\u00a4\u00a4 (#)
set locale en_US
begin
parse	output	outputCurrency
EUR 7.82	7.82	EUR
\u20ac 7.82	7.82	EUR
Euro 7.82	7.82	EUR
Euros 7.82	7.82	EUR

test parse currency with foreign symbols full english
set pattern \u00a4\u00a4\u00a4 0.00;\u00a4\u00a4\u00a4 (#)
set locale en_US
begin
parse	output	outputCurrency
EUR 7.82	7.82	EUR
\u20ac 7.82	7.82	EUR
Euro 7.82	7.82	EUR
Euros 7.82	7.82	EUR

test parse currency ISO strict
set pattern 0.00 \u00a4\u00a4;(#) \u00a4\u00a4
set locale en_US
set lenient 0
begin
parse	output	outputCurrency	breaks
$53.45	53.45	USD
53.45 USD	53.45	USD
USD 53.45	fail	USD
53.45USD	fail	USD
USD53.45	53.45	USD
(7.92) USD	-7.92	USD
(7.92) EUR	-7.92	EUR
(7.926) USD	-7.926	USD
(7.926 USD)	fail	USD
(USD 7.926)	fail	USD
USD (7.926)	fail	USD
USD (7.92)	fail	USD
(7.92)USD	fail	USD
USD(7.92)	fail	USD
(8) USD	-8	USD
-8 USD	fail	USD
67 USD	67	USD
53.45$	fail	USD
US Dollars 53.45	fail	USD
53.45 US Dollars	53.45	USD
US Dollar 53.45	fail	USD
53.45 US Dollar	53.45	USD
US Dollars53.45	53.45	USD
53.45US Dollars	fail	USD
US Dollar53.45	53.45	USD
US Dollat53.45	fail	USD
53.45US Dollar	fail	USD
US Dollars (53.45)	fail	USD
(53.45) US Dollars	-53.45	USD
US Dollar (53.45)	fail	USD
(53.45) US Dollar	-53.45	USD
US Dollars(53.45)	fail	USD
(53.45)US Dollars	fail	USD
US Dollar(53.45)	fail	USD
US Dollat(53.45)	fail	USD
(53.45)US Dollar	fail	USD

test ticket 10436
set locale en
set roundingMode ceiling
set minFractionDigits 0
set maxFractionDigits 0
begin
format	output	breaks
-0.99	-0	JK

