@@ -16,6 +16,7 @@ public class ConvertTests
1616 [ InlineData ( 11 , "единадесет лева" ) ]
1717 [ InlineData ( 12 , "дванадесет лева" ) ]
1818 [ InlineData ( 19 , "деветнадесет лева" ) ]
19+ [ InlineData ( 100 , "сто лева" ) ]
1920 [ InlineData ( 0.0 , "нула лева" ) ]
2021 [ InlineData ( 0.1 , "десет стотинки" ) ]
2122 [ InlineData ( 1.20 , "един лев и 20 ст." ) ]
@@ -68,9 +69,28 @@ public void NumberToWordsBG_ShouldReturnCorrectWords(decimal number, string expe
6869 }
6970
7071 [ Theory ]
71- [ InlineData ( - 1 , "един лев" ) ] // Assuming negative values are treated as positive
72- [ InlineData ( - 0.01 , "една стотинка" ) ] // Assuming negative values are treated as positive
73- [ InlineData ( - 32478.27 , "тридесет и две хиляди четиристотин седемдесет и осем лева и 27 ст." ) ]
72+ [ InlineData ( - 0.01 , "Минус една стотинка" ) ]
73+ [ InlineData ( - 0.02 , "Минус две стотинки" ) ]
74+ [ InlineData ( - 0.10 , "Минус десет стотинки" ) ]
75+ [ InlineData ( - 0.19 , "Минус деветнадесет стотинки" ) ]
76+ [ InlineData ( - 0.20 , "Минус 20 ст." ) ]
77+ [ InlineData ( - 1 , "Минус един лев" ) ]
78+ [ InlineData ( - 1.01 , "Минус един лев и 1 ст." ) ]
79+ [ InlineData ( - 1.10 , "Минус един лев и 10 ст." ) ]
80+ [ InlineData ( - 2 , "Минус два лева" ) ]
81+ [ InlineData ( - 11 , "Минус единадесет лева" ) ]
82+ [ InlineData ( - 20 , "Минус двадесет лева" ) ]
83+ [ InlineData ( - 21 , "Минус двадесет и един лева" ) ]
84+ [ InlineData ( - 100 , "Минус сто лева" ) ]
85+ [ InlineData ( - 101 , "Минус сто и един лева" ) ]
86+ [ InlineData ( - 111 , "Минус сто и единадесет лева" ) ]
87+ [ InlineData ( - 1000 , "Минус хиляда лева" ) ]
88+ [ InlineData ( - 1001 , "Минус хиляда и един лева" ) ]
89+ [ InlineData ( - 2000 , "Минус две хиляди лева" ) ]
90+ [ InlineData ( - 10000 , "Минус десет хиляди лева" ) ]
91+ [ InlineData ( - 21000 , "Минус двадесет и една хиляди и нула лева" ) ]
92+ [ InlineData ( - 32478.27 , "Минус тридесет и две хиляди четиристотин седемдесет и осем лева и 27 ст." ) ]
93+ [ InlineData ( - 0.00 , "нула лева" ) ]
7494 public void NumberToWordsBG_ShouldReturnCorrectWordsForNegativeValues ( decimal number , string expected )
7595 {
7696 // Act
@@ -94,6 +114,7 @@ public void NumberToWordsBG_ShouldReturnCorrectWordsForNegativeValues(decimal nu
94114 [ InlineData ( 1.20 , "едно евро и 20 ц." ) ]
95115 [ InlineData ( 1.3 , "едно евро и 30 ц." ) ]
96116 [ InlineData ( 1.02 , "едно евро и 2 ц." ) ]
117+ [ InlineData ( 100 , "сто евро" ) ]
97118 [ InlineData ( 118 , "сто и осемнадесет евро" ) ]
98119 [ InlineData ( 123 , "сто двадесет и три евро" ) ]
99120 [ InlineData ( 1000 , "хиляда евро" ) ]
@@ -140,4 +161,28 @@ public void NumberToWordsEuro_ShouldReturnCorrectWords(decimal number, string ex
140161 // Assert
141162 Assert . Equal ( expected , result ) ;
142163 }
164+
165+ [ Theory ]
166+ [ InlineData ( - 0.01 , "Минус един евроцент" ) ]
167+ [ InlineData ( - 0.02 , "Минус две евроцента" ) ]
168+ [ InlineData ( - 0.10 , "Минус десет евроцента" ) ]
169+ [ InlineData ( - 0.19 , "Минус деветнадесет евроцента" ) ]
170+ [ InlineData ( - 0.20 , "Минус 20 ц." ) ]
171+ [ InlineData ( - 1 , "Минус едно евро" ) ]
172+ [ InlineData ( - 1.01 , "Минус едно евро и 1 ц." ) ]
173+ [ InlineData ( - 2 , "Минус две евро" ) ]
174+ [ InlineData ( - 10.20 , "Минус десет евро и 20 ц." ) ]
175+ [ InlineData ( - 11 , "Минус единадесет евро" ) ]
176+ [ InlineData ( - 21 , "Минус двадесет и едно евро" ) ]
177+ [ InlineData ( - 100 , "Минус сто евро" ) ]
178+ [ InlineData ( - 1000 , "Минус хиляда евро" ) ]
179+ [ InlineData ( - 32478.27 , "Минус тридесет и две хиляди четиристотин седемдесет и осем евро и 27 ц." ) ]
180+ public void NumberToWordsEuro_ShouldReturnCorrectWordsForNegativeValues ( decimal number , string expected )
181+ {
182+ // Act
183+ var result = NumbersToWords . Convert ( number , CurrencyDescriptor . Euro ) ;
184+
185+ // Assert
186+ Assert . Equal ( expected , result ) ;
187+ }
143188}
0 commit comments