}
}
- public void TestParse()
- {
- ParseTest[] tab = {
+ ParseTest[] tab = {
new ParseTest("1.2345", 1.2345m),
new ParseTest("-9876543210", -9876543210m),
new ParseTest(NumberFormatInfo.InvariantInfo.CurrencySymbol
new ParseTest("-7922816251426433759354395033.150000000000", -7922816251426433759354395033.2m),
new ParseTest("-7922816251426433759354395033.2400000000000", -7922816251426433759354395033.2m),
new ParseTest("-7922816251426433759354395033.2600000000000", -7922816251426433759354395033.3m)
- };
+ };
+
+ public void TestParse()
+ {
Decimal d;
for (int i = 0; i < tab.Length; i++)
Assert(1.2345678901234e-14 == (double)d);
d = new Decimal(1.2342278901234e-25);
- Assert((decimal)d == 1.234e-25m);
+ AssertEquals("A10", d, 1.234e-25m);
// test exceptions
try
long l = (long) d;
}
+#if NET_2_0
+ [Test]
+ public void TryParse ()
+ {
+ Decimal r;
+
+ // These should return false
+ AssertEquals (false, Decimal.TryParse ("79228162514264337593543950336", out r));
+ AssertEquals (false, Decimal.TryParse ("123nx", NumberStyles.Number, CultureInfo.InvariantCulture, out r));
+ AssertEquals (false, Decimal.TryParse (null, NumberStyles.Number, CultureInfo.InvariantCulture, out r));
+
+ // These should pass
+ for (int i = 0; i < tab.Length; i++){
+ AssertEquals (!tab [i].exceptionFlag,
+ Decimal.TryParse (tab [i].str, tab [i].style,
+ NumberFormatInfo.InvariantInfo, out r));
+ }
+ }
+#endif
+
[Test]
[ExpectedException (typeof (DivideByZeroException))]
public void Remainder_ByZero ()