77
88namespace PHPViet \NumberToWords \Tests ;
99
10+ use PHPViet \NumberToWords \Transformer ;
11+
1012/**
1113 * @author Vuong Minh <[email protected] > 1214 * @since 1.0.0
@@ -29,6 +31,61 @@ public function testUSDTransform($expect, $number)
2931 $ this ->assertEquals ($ expect , $ this ->transformer ->toCurrency ($ number , ['đô ' , 'xen ' ]));
3032 }
3133
34+ /**
35+ * @dataProvider usdDecimalPartDataProvider
36+ */
37+ public function testUSDSetDecimalPart ($ expect , $ float , $ decimalPart )
38+ {
39+ $ transformer = new Transformer ($ this ->dictionary , $ decimalPart );
40+
41+ $ this ->assertEquals ($ expect , $ transformer ->toCurrency ($ float , ['đô ' , 'xen ' ]));
42+ }
43+
44+ public function usdDecimalPartDataProvider (): array
45+ {
46+ return [
47+ ['không đô ' , 0 , 1 ],
48+ ['một nghìn đô ' , 1000 , 2 ],
49+ ['một nghìn không trăm linh một đô ' , 1001 , 3 ],
50+ ['một nghìn không trăm linh hai đô ' , 1002 , 4 ],
51+ ['âm không đô mười xen ' , -0.1 , 2 ],
52+ ['âm chín mươi chín đô ' , -99 , 3 ],
53+ ['âm chín mươi tám đô ' , -98 , 4 ],
54+ ['không đô ba trăm bảy mươi chín xen ' , 0.378758 , 3 ],
55+ ['không đô chín mươi hai xen ' , 0.922174 , 2 ],
56+ ['năm trăm bảy mươi ba đô năm mươi tám xen ' , 573.58 , 2 ],
57+ ['sáu trăm sáu mươi chín đô mười bốn xen ' , 669.135 , 2 ],
58+ ['ba trăm chín mươi lăm đô mười bốn xen ' , 395.136 , 2 ],
59+ ];
60+ }
61+
62+ /**
63+ * @dataProvider decimalPartDataProvider
64+ */
65+ public function testSetDecimalPart ($ expect , $ float , $ decimalPart )
66+ {
67+ $ transformer = new Transformer ($ this ->dictionary , $ decimalPart );
68+ $ this ->assertEquals ($ expect , $ transformer ->toCurrency ($ float ));
69+ }
70+
71+ public function decimalPartDataProvider (): array
72+ {
73+ return [
74+ ['không đồng ' , 0 , 1 ],
75+ ['một nghìn đồng ' , 1000 , 2 ],
76+ ['một nghìn không trăm linh một đồng ' , 1001 , 3 ],
77+ ['một nghìn không trăm linh hai đồng ' , 1002 , 4 ],
78+ ['âm không phẩy mười đồng ' , -0.1 , 2 ],
79+ ['âm chín mươi chín đồng ' , -99 , 3 ],
80+ ['âm chín mươi tám đồng ' , -98 , 4 ],
81+ ['không phẩy ba trăm bảy mươi chín đồng ' , 0.378758 , 3 ],
82+ ['không phẩy chín mươi hai đồng ' , 0.922174 , 2 ],
83+ ['năm trăm bảy mươi ba phẩy năm mươi tám đồng ' , 573.58 , 2 ],
84+ ['sáu trăm sáu mươi chín phẩy mười bốn đồng ' , 669.135 , 2 ],
85+ ['ba trăm chín mươi lăm phẩy mười bốn đồng ' , 395.136 , 2 ],
86+ ];
87+ }
88+
3289 public function usdDataProvider (): array
3390 {
3491 return [
0 commit comments