Skip to content

Commit 88278a0

Browse files
author
Yulian Ashikov
committed
Added tests for negative values
1 parent 7423699 commit 88278a0

1 file changed

Lines changed: 48 additions & 3 deletions

File tree

src/Tests/ConvertTests.cs

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)