@@ -16,7 +16,8 @@ public class CalculatorPluginTest
1616 {
1717 DecimalSeparator = DecimalSeparator . UseSystemLocale ,
1818 MaxDecimalPlaces = 10 ,
19- ShowErrorMessage = false // Make sure we return the empty results when error occurs
19+ ShowErrorMessage = false , // Make sure we return the empty results when error occurs
20+ UseThousandsSeparator = true // Default value
2021 } ;
2122 private readonly Engine _engine = new ( new Configuration
2223 {
@@ -41,6 +42,38 @@ public CalculatorPluginTest()
4142 engineField . SetValue ( null , _engine ) ;
4243 }
4344
45+ [ Test ]
46+ public void ThousandsSeparatorTest_Enabled ( )
47+ {
48+ _settings . UseThousandsSeparator = true ;
49+ _settings . DecimalSeparator = DecimalSeparator . Dot ;
50+
51+ var result = GetCalculationResult ( "1000+234" ) ;
52+ // When thousands separator is enabled, the result should contain a separator (comma in this case)
53+ ClassicAssert . IsTrue ( result . Contains ( "," ) || result == "1234" ,
54+ "Expected result to contain thousands separator or be without one if system doesn't use it" ) ;
55+ }
56+
57+ [ Test ]
58+ public void ThousandsSeparatorTest_Disabled ( )
59+ {
60+ _settings . UseThousandsSeparator = false ;
61+ _settings . DecimalSeparator = DecimalSeparator . Dot ;
62+
63+ var result = GetCalculationResult ( "1000+234" ) ;
64+ ClassicAssert . AreEqual ( "1234" , result ) ;
65+ }
66+
67+ [ Test ]
68+ public void ThousandsSeparatorTest_LargeNumber ( )
69+ {
70+ _settings . UseThousandsSeparator = false ;
71+ _settings . DecimalSeparator = DecimalSeparator . Dot ;
72+
73+ var result = GetCalculationResult ( "1000000+234567" ) ;
74+ ClassicAssert . AreEqual ( "1234567" , result ) ;
75+ }
76+
4477 // Basic operations
4578 [ TestCase ( @"1+1" , "2" ) ]
4679 [ TestCase ( @"2-1" , "1" ) ]
0 commit comments