2008-09-08 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mcs / class / corlib / Test / System / DecimalFormatterTest.cs
index 37379efcaad1e815c9d3540d19146556d494068b..a409b9e15e24d3344392a983235eb107d2a31a58 100644 (file)
@@ -13,360 +13,364 @@ using System.Globalization;
 
 namespace MonoTests.System
 {
-        public class FormatString
-        {
-                private int testnumber;
-                private decimal number;
-                private string format;
-                private string expectedresult;
+       public class FormatString
+       {
+               private int testnumber;
+               private decimal number;
+               private string format;
+               private string expectedresult;
 
-                public FormatString(int TestNumber, decimal Number, string Format, string ExpectedResult)
-                {
-                        testnumber = TestNumber;
-                        number = Number;
-                        format = Format;
-                        expectedresult = ExpectedResult;
-                }
-                
-                public int TestNumber 
-                {
-                        get { return testnumber; }
-                        set { testnumber = value; }
-                }
+               public FormatString (int TestNumber, decimal Number, string Format, string ExpectedResult)
+               {
+                       testnumber = TestNumber;
+                       number = Number;
+                       format = Format;
+                       expectedresult = ExpectedResult;
+               }
 
-                public decimal Number 
-                {
-                        get { return number; }
-                        set { number = value; }
-                }
-                
-                public string Format
-                {
-                        get { return format; }
-                        set { format = value; }
-                }
-                
-                public string ExpectedResult
-                {
-                        get { return expectedresult; }
-                        set { expectedresult = value; }
-                }
-        }
+               public int TestNumber
+               {
+                       get { return testnumber; }
+                       set { testnumber = value; }
+               }
 
-        [TestFixture]
-        public class DecimalFormatterTest 
-        {
-                [SetUp]
-                public void GetReady() 
-                {
-                        CultureInfo EnUs = new CultureInfo ("en-us");
-                        EnUs.NumberFormat.CurrencyNegativePattern = 0; // -1 = (1)
-                        EnUs.NumberFormat.CurrencyDecimalSeparator = ".";
-                        EnUs.NumberFormat.NumberGroupSeparator = ",";
-                        EnUs.NumberFormat.NumberNegativePattern = 1; // -1 = -1
-                        
-                        //Set this culture for the current thread.
-                        Thread.CurrentThread.CurrentCulture = EnUs;
-                }
-                
-                [TearDown]
-                public void Clean() {}
-                
-                [Test]
-                public void TestFormatStrings()
-                {
-                        // Test all the formatstrings in the FormatTest array. 
-                        // If a test fails the "DecF #" equals the index of the array.
-                        foreach (FormatString fTest in FormatTest) {
-                                Assertion.AssertEquals ("DecF #" + fTest.TestNumber, fTest.ExpectedResult, fTest.Number.ToString(fTest.Format));                                
-                        }
-                }
+               public decimal Number
+               {
+                       get { return number; }
+                       set { number = value; }
+               }
 
-                
-                [Test]
-                [ExpectedException(typeof(FormatException))]
-                public void TestToDecimal()
-                {
-                        decimal x = 1.0000001m;
-                        string Result = x.ToString ("D2"); //To Decimal is for integral types only. 
-                }
-                
-                [Test]
-                [ExpectedException(typeof(FormatException))]
-                public void TestToHex()
-                {
-                        decimal x = 1.0000001m;
-                        string Result = x.ToString ("X2"); //To Hex is for integral types only. 
-                }
+               public string Format
+               {
+                       get { return format; }
+                       set { format = value; }
+               }
 
-                // Computer generated format array.
-                FormatString[] FormatTest = new FormatString[] {
-                        new FormatString(0, 1.0034m, "C", "$1.00"),  
-                        new FormatString(1, 1.0034m, "C0", "$1"),  
-                        new FormatString(2, 1.0034m, "C1", "$1.0"),  
-                        new FormatString(3, 1.0034m, "C2", "$1.00"),  
-                        new FormatString(4, 1.0034m, "C3", "$1.003"),  
-                        new FormatString(5, 1.0034m, "C4", "$1.0034"),  
-                        new FormatString(6, 1.0034m, "C5", "$1.00340"),  
-                        new FormatString(7, 1.0034m, "C6", "$1.003400"),  
-                        new FormatString(8, 1.0034m, "C7", "$1.0034000"),  
-                        new FormatString(9, 1.0034m, "C8", "$1.00340000"),  
-                        new FormatString(10, 1.0034m, "C9", "$1.003400000"),  
-                        new FormatString(11, 1.0034m, "E", "1.003400E+000"),  
-                        new FormatString(12, 1.0034m, "E0", "1E+000"),  
-                        new FormatString(13, 1.0034m, "E1", "1.0E+000"),  
-                        new FormatString(14, 1.0034m, "E2", "1.00E+000"),  
-                        new FormatString(15, 1.0034m, "E3", "1.003E+000"),  
-                        new FormatString(16, 1.0034m, "E4", "1.0034E+000"),  
-                        new FormatString(17, 1.0034m, "E5", "1.00340E+000"),  
-                        new FormatString(18, 1.0034m, "E6", "1.003400E+000"),  
-                        new FormatString(19, 1.0034m, "E7", "1.0034000E+000"),  
-                        new FormatString(20, 1.0034m, "E8", "1.00340000E+000"),  
-                        new FormatString(21, 1.0034m, "E9", "1.003400000E+000"),  
-                        new FormatString(22, 1.0034m, "F", "1.00"),  
-                        new FormatString(23, 1.0034m, "F0", "1"),  
-                        new FormatString(24, 1.0034m, "F1", "1.0"),  
-                        new FormatString(25, 1.0034m, "F2", "1.00"),  
-                        new FormatString(26, 1.0034m, "F3", "1.003"),  
-                        new FormatString(27, 1.0034m, "F4", "1.0034"),  
-                        new FormatString(28, 1.0034m, "F5", "1.00340"),  
-                        new FormatString(29, 1.0034m, "F6", "1.003400"),  
-                        new FormatString(30, 1.0034m, "F7", "1.0034000"),  
-                        new FormatString(31, 1.0034m, "F8", "1.00340000"),  
-                        new FormatString(32, 1.0034m, "F9", "1.003400000"),  
-                        new FormatString(33, 1.0034m, "G", "1.0034"),  
-                        new FormatString(34, 1.0034m, "G0", "1.0034"),  
-                        new FormatString(35, 1.0034m, "G1", "1"),  
-                        new FormatString(36, 1.0034m, "G2", "1"),  
-                        new FormatString(37, 1.0034m, "G3", "1"),  
-                        new FormatString(38, 1.0034m, "G4", "1.003"),  
-                        new FormatString(39, 1.0034m, "G5", "1.0034"),  
-                        new FormatString(40, 1.0034m, "G6", "1.0034"),  
-                        new FormatString(41, 1.0034m, "G7", "1.0034"),  
-                        new FormatString(42, 1.0034m, "G8", "1.0034"),  
-                        new FormatString(43, 1.0034m, "G9", "1.0034"),  
-                        new FormatString(44, 1.0034m, "N", "1.00"),  
-                        new FormatString(45, 1.0034m, "N0", "1"),  
-                        new FormatString(46, 1.0034m, "N1", "1.0"),  
-                        new FormatString(47, 1.0034m, "N2", "1.00"),  
-                        new FormatString(48, 1.0034m, "N3", "1.003"),  
-                        new FormatString(49, 1.0034m, "N4", "1.0034"),  
-                        new FormatString(50, 1.0034m, "N5", "1.00340"),  
-                        new FormatString(51, 1.0034m, "N6", "1.003400"),  
-                        new FormatString(52, 1.0034m, "N7", "1.0034000"),  
-                        new FormatString(53, 1.0034m, "N8", "1.00340000"),  
-                        new FormatString(54, 1.0034m, "N9", "1.003400000"),  
-                        new FormatString(55, 1.0034m, "P", "100.34 %"),  
-                        new FormatString(56, 1.0034m, "P0", "100 %"),  
-                        new FormatString(57, 1.0034m, "P1", "100.3 %"),  
-                        new FormatString(58, 1.0034m, "P2", "100.34 %"),  
-                        new FormatString(59, 1.0034m, "P3", "100.340 %"),  
-                        new FormatString(60, 1.0034m, "P4", "100.3400 %"),  
-                        new FormatString(61, 1.0034m, "P5", "100.34000 %"),  
-                        new FormatString(62, 1.0034m, "P6", "100.340000 %"),  
-                        new FormatString(63, 1.0034m, "P7", "100.3400000 %"),  
-                        new FormatString(64, 1.0034m, "P8", "100.34000000 %"),  
-                        new FormatString(65, 1.0034m, "P9", "100.340000000 %"),  
-                        new FormatString(66, 343433.223m, "C", "$343,433.22"),  
-                        new FormatString(67, 343433.223m, "C0", "$343,433"),  
-                        new FormatString(68, 343433.223m, "C1", "$343,433.2"),  
-                        new FormatString(69, 343433.223m, "C2", "$343,433.22"),  
-                        new FormatString(70, 343433.223m, "C3", "$343,433.223"),  
-                        new FormatString(71, 343433.223m, "C4", "$343,433.2230"),  
-                        new FormatString(72, 343433.223m, "C5", "$343,433.22300"),  
-                        new FormatString(73, 343433.223m, "C6", "$343,433.223000"),  
-                        new FormatString(74, 343433.223m, "C7", "$343,433.2230000"),  
-                        new FormatString(75, 343433.223m, "C8", "$343,433.22300000"),  
-                        new FormatString(76, 343433.223m, "C9", "$343,433.223000000"),  
-                        new FormatString(77, 343433.223m, "E", "3.434332E+005"),  
-                        new FormatString(78, 343433.223m, "E0", "3E+005"),  
-                        new FormatString(79, 343433.223m, "E1", "3.4E+005"),  
-                        new FormatString(80, 343433.223m, "E2", "3.43E+005"),  
-                        new FormatString(81, 343433.223m, "E3", "3.434E+005"),  
-                        new FormatString(82, 343433.223m, "E4", "3.4343E+005"),  
-                        new FormatString(83, 343433.223m, "E5", "3.43433E+005"),  
-                        new FormatString(84, 343433.223m, "E6", "3.434332E+005"),  
-                        new FormatString(85, 343433.223m, "E7", "3.4343322E+005"),  
-                        new FormatString(86, 343433.223m, "E8", "3.43433223E+005"),  
-                        new FormatString(87, 343433.223m, "E9", "3.434332230E+005"),  
-                        new FormatString(88, 343433.223m, "F", "343433.22"),  
-                        new FormatString(89, 343433.223m, "F0", "343433"),  
-                        new FormatString(90, 343433.223m, "F1", "343433.2"),  
-                        new FormatString(91, 343433.223m, "F2", "343433.22"),  
-                        new FormatString(92, 343433.223m, "F3", "343433.223"),  
-                        new FormatString(93, 343433.223m, "F4", "343433.2230"),  
-                        new FormatString(94, 343433.223m, "F5", "343433.22300"),  
-                        new FormatString(95, 343433.223m, "F6", "343433.223000"),  
-                        new FormatString(96, 343433.223m, "F7", "343433.2230000"),  
-                        new FormatString(97, 343433.223m, "F8", "343433.22300000"),  
-                        new FormatString(98, 343433.223m, "F9", "343433.223000000"),  
-                        new FormatString(99, 343433.223m, "G", "343433.223"),  
-                        new FormatString(100, 343433.223m, "G0", "343433.223"),  
-                        new FormatString(101, 343433.223m, "G1", "3E+05"),  
-                        new FormatString(102, 343433.223m, "G2", "3.4E+05"),  
-                        new FormatString(103, 343433.223m, "G3", "3.43E+05"),  
-                        new FormatString(104, 343433.223m, "G4", "3.434E+05"),  
-                        new FormatString(105, 343433.223m, "G5", "3.4343E+05"),  
-                        new FormatString(106, 343433.223m, "G6", "343433"),  
-                        new FormatString(107, 343433.223m, "G7", "343433.2"),  
-                        new FormatString(108, 343433.223m, "G8", "343433.22"),  
-                        new FormatString(109, 343433.223m, "G9", "343433.223"),  
-                        new FormatString(110, 343433.223m, "N", "343,433.22"),  
-                        new FormatString(111, 343433.223m, "N0", "343,433"),  
-                        new FormatString(112, 343433.223m, "N1", "343,433.2"),  
-                        new FormatString(113, 343433.223m, "N2", "343,433.22"),  
-                        new FormatString(114, 343433.223m, "N3", "343,433.223"),  
-                        new FormatString(115, 343433.223m, "N4", "343,433.2230"),  
-                        new FormatString(116, 343433.223m, "N5", "343,433.22300"),  
-                        new FormatString(117, 343433.223m, "N6", "343,433.223000"),  
-                        new FormatString(118, 343433.223m, "N7", "343,433.2230000"),  
-                        new FormatString(119, 343433.223m, "N8", "343,433.22300000"),  
-                        new FormatString(120, 343433.223m, "N9", "343,433.223000000"),  
-                        new FormatString(121, 343433.223m, "P", "34,343,322.30 %"),  
-                        new FormatString(122, 343433.223m, "P0", "34,343,322 %"),  
-                        new FormatString(123, 343433.223m, "P1", "34,343,322.3 %"),  
-                        new FormatString(124, 343433.223m, "P2", "34,343,322.30 %"),  
-                        new FormatString(125, 343433.223m, "P3", "34,343,322.300 %"),  
-                        new FormatString(126, 343433.223m, "P4", "34,343,322.3000 %"),  
-                        new FormatString(127, 343433.223m, "P5", "34,343,322.30000 %"),  
-                        new FormatString(128, 343433.223m, "P6", "34,343,322.300000 %"),  
-                        new FormatString(129, 343433.223m, "P7", "34,343,322.3000000 %"),  
-                        new FormatString(130, 343433.223m, "P8", "34,343,322.30000000 %"),  
-                        new FormatString(131, 343433.223m, "P9", "34,343,322.300000000 %"),  
-                        new FormatString(132, -1.9292929332m, "C", "($1.93)"),  
-                        new FormatString(133, -1.9292929332m, "C0", "($2)"),  
-                        new FormatString(134, -1.9292929332m, "C1", "($1.9)"),  
-                        new FormatString(135, -1.9292929332m, "C2", "($1.93)"),  
-                        new FormatString(136, -1.9292929332m, "C3", "($1.929)"),  
-                        new FormatString(137, -1.9292929332m, "C4", "($1.9293)"),  
-                        new FormatString(138, -1.9292929332m, "C5", "($1.92929)"),  
-                        new FormatString(139, -1.9292929332m, "C6", "($1.929293)"),  
-                        new FormatString(140, -1.9292929332m, "C7", "($1.9292929)"),  
-                        new FormatString(141, -1.9292929332m, "C8", "($1.92929293)"),  
-                        new FormatString(142, -1.9292929332m, "C9", "($1.929292933)"),  
-                        new FormatString(143, -1.9292929332m, "E", "-1.929293E+000"),  
-                        new FormatString(144, -1.9292929332m, "E0", "-2E+000"),  
-                        new FormatString(145, -1.9292929332m, "E1", "-1.9E+000"),  
-                        new FormatString(146, -1.9292929332m, "E2", "-1.93E+000"),  
-                        new FormatString(147, -1.9292929332m, "E3", "-1.929E+000"),  
-                        new FormatString(148, -1.9292929332m, "E4", "-1.9293E+000"),  
-                        new FormatString(149, -1.9292929332m, "E5", "-1.92929E+000"),  
-                        new FormatString(150, -1.9292929332m, "E6", "-1.929293E+000"),  
-                        new FormatString(151, -1.9292929332m, "E7", "-1.9292929E+000"),  
-                        new FormatString(152, -1.9292929332m, "E8", "-1.92929293E+000"),  
-                        new FormatString(153, -1.9292929332m, "E9", "-1.929292933E+000"),  
-                        new FormatString(154, -1.9292929332m, "F", "-1.93"),  
-                        new FormatString(155, -1.9292929332m, "F0", "-2"),  
-                        new FormatString(156, -1.9292929332m, "F1", "-1.9"),  
-                        new FormatString(157, -1.9292929332m, "F2", "-1.93"),  
-                        new FormatString(158, -1.9292929332m, "F3", "-1.929"),  
-                        new FormatString(159, -1.9292929332m, "F4", "-1.9293"),  
-                        new FormatString(160, -1.9292929332m, "F5", "-1.92929"),  
-                        new FormatString(161, -1.9292929332m, "F6", "-1.929293"),  
-                        new FormatString(162, -1.9292929332m, "F7", "-1.9292929"),  
-                        new FormatString(163, -1.9292929332m, "F8", "-1.92929293"),  
-                        new FormatString(164, -1.9292929332m, "F9", "-1.929292933"),  
-                        new FormatString(165, -1.9292929332m, "G", "-1.9292929332"),  
-                        new FormatString(166, -1.9292929332m, "G0", "-1.9292929332"),  
-                        new FormatString(167, -1.9292929332m, "G1", "-2"),  
-                        new FormatString(168, -1.9292929332m, "G2", "-1.9"),  
-                        new FormatString(169, -1.9292929332m, "G3", "-1.93"),  
-                        new FormatString(170, -1.9292929332m, "G4", "-1.929"),  
-                        new FormatString(171, -1.9292929332m, "G5", "-1.9293"),  
-                        new FormatString(172, -1.9292929332m, "G6", "-1.92929"),  
-                        new FormatString(173, -1.9292929332m, "G7", "-1.929293"),  
-                        new FormatString(174, -1.9292929332m, "G8", "-1.9292929"),  
-                        new FormatString(175, -1.9292929332m, "G9", "-1.92929293"),  
-                        new FormatString(176, -1.9292929332m, "N", "-1.93"),  
-                        new FormatString(177, -1.9292929332m, "N0", "-2"),  
-                        new FormatString(178, -1.9292929332m, "N1", "-1.9"),  
-                        new FormatString(179, -1.9292929332m, "N2", "-1.93"),  
-                        new FormatString(180, -1.9292929332m, "N3", "-1.929"),  
-                        new FormatString(181, -1.9292929332m, "N4", "-1.9293"),  
-                        new FormatString(182, -1.9292929332m, "N5", "-1.92929"),  
-                        new FormatString(183, -1.9292929332m, "N6", "-1.929293"),  
-                        new FormatString(184, -1.9292929332m, "N7", "-1.9292929"),  
-                        new FormatString(185, -1.9292929332m, "N8", "-1.92929293"),  
-                        new FormatString(186, -1.9292929332m, "N9", "-1.929292933"),  
-                        new FormatString(187, -1.9292929332m, "P", "-192.93 %"),  
-                        new FormatString(188, -1.9292929332m, "P0", "-193 %"),  
-                        new FormatString(189, -1.9292929332m, "P1", "-192.9 %"),  
-                        new FormatString(190, -1.9292929332m, "P2", "-192.93 %"),  
-                        new FormatString(191, -1.9292929332m, "P3", "-192.929 %"),  
-                        new FormatString(192, -1.9292929332m, "P4", "-192.9293 %"),  
-                        new FormatString(193, -1.9292929332m, "P5", "-192.92929 %"),  
-                        new FormatString(194, -1.9292929332m, "P6", "-192.929293 %"),  
-                        new FormatString(195, -1.9292929332m, "P7", "-192.9292933 %"),  
-                        new FormatString(196, -1.9292929332m, "P8", "-192.92929332 %"),  
-                        new FormatString(197, -1.9292929332m, "P9", "-192.929293320 %"),  
-                        new FormatString(198, 67234234.23434343434341111m, "C", "$67,234,234.23"),  
-                        new FormatString(199, 67234234.23434343434341111m, "C0", "$67,234,234"),  
-                        new FormatString(200, 67234234.23434343434341111m, "C1", "$67,234,234.2"),  
-                        new FormatString(201, 67234234.23434343434341111m, "C2", "$67,234,234.23"),  
-                        new FormatString(202, 67234234.23434343434341111m, "C3", "$67,234,234.234"),  
-                        new FormatString(203, 67234234.23434343434341111m, "C4", "$67,234,234.2343"),  
-                        new FormatString(204, 67234234.23434343434341111m, "C5", "$67,234,234.23434"),  
-                        new FormatString(205, 67234234.23434343434341111m, "C6", "$67,234,234.234343"),  
-                        new FormatString(206, 67234234.23434343434341111m, "C7", "$67,234,234.2343434"),  
-                        new FormatString(207, 67234234.23434343434341111m, "C8", "$67,234,234.23434343"),  
-                        new FormatString(208, 67234234.23434343434341111m, "C9", "$67,234,234.234343434"),  
-                        new FormatString(209, 67234234.23434343434341111m, "E", "6.723423E+007"),  
-                        new FormatString(210, 67234234.23434343434341111m, "E0", "7E+007"),  
-                        new FormatString(211, 67234234.23434343434341111m, "E1", "6.7E+007"),  
-                        new FormatString(212, 67234234.23434343434341111m, "E2", "6.72E+007"),  
-                        new FormatString(213, 67234234.23434343434341111m, "E3", "6.723E+007"),  
-                        new FormatString(214, 67234234.23434343434341111m, "E4", "6.7234E+007"),  
-                        new FormatString(215, 67234234.23434343434341111m, "E5", "6.72342E+007"),  
-                        new FormatString(216, 67234234.23434343434341111m, "E6", "6.723423E+007"),  
-                        new FormatString(217, 67234234.23434343434341111m, "E7", "6.7234234E+007"),  
-                        new FormatString(218, 67234234.23434343434341111m, "E8", "6.72342342E+007"),  
-                        new FormatString(219, 67234234.23434343434341111m, "E9", "6.723423423E+007"),  
-                        new FormatString(220, 67234234.23434343434341111m, "F", "67234234.23"),  
-                        new FormatString(221, 67234234.23434343434341111m, "F0", "67234234"),  
-                        new FormatString(222, 67234234.23434343434341111m, "F1", "67234234.2"),  
-                        new FormatString(223, 67234234.23434343434341111m, "F2", "67234234.23"),  
-                        new FormatString(224, 67234234.23434343434341111m, "F3", "67234234.234"),  
-                        new FormatString(225, 67234234.23434343434341111m, "F4", "67234234.2343"),  
-                        new FormatString(226, 67234234.23434343434341111m, "F5", "67234234.23434"),  
-                        new FormatString(227, 67234234.23434343434341111m, "F6", "67234234.234343"),  
-                        new FormatString(228, 67234234.23434343434341111m, "F7", "67234234.2343434"),  
-                        new FormatString(229, 67234234.23434343434341111m, "F8", "67234234.23434343"),  
-                        new FormatString(230, 67234234.23434343434341111m, "F9", "67234234.234343434"),  
-                        new FormatString(231, 67234234.23434343434341111m, "G", "67234234.23434343434341111"),  
-                        new FormatString(232, 67234234.23434343434341111m, "G0", "67234234.23434343434341111"),  
-                        new FormatString(233, 67234234.23434343434341111m, "G1", "7E+07"),  
-                        new FormatString(234, 67234234.23434343434341111m, "G2", "6.7E+07"),  
-                        new FormatString(235, 67234234.23434343434341111m, "G3", "6.72E+07"),  
-                        new FormatString(236, 67234234.23434343434341111m, "G4", "6.723E+07"),  
-                        new FormatString(237, 67234234.23434343434341111m, "G5", "6.7234E+07"),  
-                        new FormatString(238, 67234234.23434343434341111m, "G6", "6.72342E+07"),  
-                        new FormatString(239, 67234234.23434343434341111m, "G7", "6.723423E+07"),  
-                        new FormatString(240, 67234234.23434343434341111m, "G8", "67234234"),  
-                        new FormatString(241, 67234234.23434343434341111m, "G9", "67234234.2"),  
-                        new FormatString(242, 67234234.23434343434341111m, "N", "67,234,234.23"),  
-                        new FormatString(243, 67234234.23434343434341111m, "N0", "67,234,234"),  
-                        new FormatString(244, 67234234.23434343434341111m, "N1", "67,234,234.2"),  
-                        new FormatString(245, 67234234.23434343434341111m, "N2", "67,234,234.23"),  
-                        new FormatString(246, 67234234.23434343434341111m, "N3", "67,234,234.234"),  
-                        new FormatString(247, 67234234.23434343434341111m, "N4", "67,234,234.2343"),  
-                        new FormatString(248, 67234234.23434343434341111m, "N5", "67,234,234.23434"),  
-                        new FormatString(249, 67234234.23434343434341111m, "N6", "67,234,234.234343"),  
-                        new FormatString(250, 67234234.23434343434341111m, "N7", "67,234,234.2343434"),  
-                        new FormatString(251, 67234234.23434343434341111m, "N8", "67,234,234.23434343"),  
-                        new FormatString(252, 67234234.23434343434341111m, "N9", "67,234,234.234343434"),  
-                        new FormatString(253, 67234234.23434343434341111m, "P", "6,723,423,423.43 %"),  
-                        new FormatString(254, 67234234.23434343434341111m, "P0", "6,723,423,423 %"),  
-                        new FormatString(255, 67234234.23434343434341111m, "P1", "6,723,423,423.4 %"),  
-                        new FormatString(256, 67234234.23434343434341111m, "P2", "6,723,423,423.43 %"),  
-                        new FormatString(257, 67234234.23434343434341111m, "P3", "6,723,423,423.434 %"),  
-                        new FormatString(258, 67234234.23434343434341111m, "P4", "6,723,423,423.4343 %"),  
-                        new FormatString(259, 67234234.23434343434341111m, "P5", "6,723,423,423.43434 %"),  
-                        new FormatString(260, 67234234.23434343434341111m, "P6", "6,723,423,423.434343 %"),  
-                        new FormatString(261, 67234234.23434343434341111m, "P7", "6,723,423,423.4343434 %"),  
-                        new FormatString(262, 67234234.23434343434341111m, "P8", "6,723,423,423.43434343 %"),  
-                        new FormatString(263, 67234234.23434343434341111m, "P9", "6,723,423,423.434343434 %")
-                };
-        }
-}
-        
+               public string ExpectedResult
+               {
+                       get { return expectedresult; }
+                       set { expectedresult = value; }
+               }
+       }
+
+       [TestFixture]
+       public class DecimalFormatterTest
+       {
+               CultureInfo old_culture;
+
+               [SetUp]
+               public void Setup ()
+               {
+                       old_culture = Thread.CurrentThread.CurrentCulture;
+
+                       CultureInfo EnUs = new CultureInfo ("en-US", false);
+                       EnUs.NumberFormat.CurrencyNegativePattern = 0; // -1 = (1)
+                       EnUs.NumberFormat.CurrencyDecimalSeparator = ".";
+                       EnUs.NumberFormat.NumberGroupSeparator = ",";
+                       EnUs.NumberFormat.NumberNegativePattern = 1; // -1 = -1
+
+                       //Set this culture for the current thread.
+                       Thread.CurrentThread.CurrentCulture = EnUs;
+               }
 
+               [TearDown]
+               public void TearDown ()
+               {
+                       Thread.CurrentThread.CurrentCulture = old_culture;
+               }
+
+               [Test]
+               public void TestFormatStrings ()
+               {
+                       // Test all the formatstrings in the FormatTest array. 
+                       // If a test fails the "DecF #" equals the index of the array.
+                       foreach (FormatString fTest in FormatTest) {
+                               Assertion.AssertEquals ("DecF #" + fTest.TestNumber, fTest.ExpectedResult, fTest.Number.ToString (fTest.Format));
+                       }
+               }
+
+               [Test]
+               [ExpectedException (typeof (FormatException))]
+               public void TestToDecimal ()
+               {
+                       decimal x = 1.0000001m;
+                       string Result = x.ToString ("D2"); //To Decimal is for integral types only. 
+               }
+
+               [Test]
+               [ExpectedException (typeof (FormatException))]
+               public void TestToHex ()
+               {
+                       decimal x = 1.0000001m;
+                       string Result = x.ToString ("X2"); //To Hex is for integral types only. 
+               }
+
+               // Computer generated format array.
+               FormatString [] FormatTest = new FormatString [] {
+                       new FormatString (0, 1.0034m, "C", "$1.00"),
+                       new FormatString (1, 1.0034m, "C0", "$1"),
+                       new FormatString (2, 1.0034m, "C1", "$1.0"),
+                       new FormatString (3, 1.0034m, "C2", "$1.00"),
+                       new FormatString (4, 1.0034m, "C3", "$1.003"),
+                       new FormatString (5, 1.0034m, "C4", "$1.0034"),
+                       new FormatString (6, 1.0034m, "C5", "$1.00340"),
+                       new FormatString (7, 1.0034m, "C6", "$1.003400"),
+                       new FormatString (8, 1.0034m, "C7", "$1.0034000"),
+                       new FormatString (9, 1.0034m, "C8", "$1.00340000"),
+                       new FormatString (10, 1.0034m, "C9", "$1.003400000"),
+                       new FormatString (11, 1.0034m, "E", "1.003400E+000"),
+                       new FormatString (12, 1.0034m, "E0", "1E+000"),
+                       new FormatString (13, 1.0034m, "E1", "1.0E+000"),
+                       new FormatString (14, 1.0034m, "E2", "1.00E+000"),
+                       new FormatString (15, 1.0034m, "E3", "1.003E+000"),
+                       new FormatString (16, 1.0034m, "E4", "1.0034E+000"),
+                       new FormatString (17, 1.0034m, "E5", "1.00340E+000"),
+                       new FormatString (18, 1.0034m, "E6", "1.003400E+000"),
+                       new FormatString (19, 1.0034m, "E7", "1.0034000E+000"),
+                       new FormatString (20, 1.0034m, "E8", "1.00340000E+000"),
+                       new FormatString (21, 1.0034m, "E9", "1.003400000E+000"),
+                       new FormatString (22, 1.0034m, "F", "1.00"),
+                       new FormatString (23, 1.0034m, "F0", "1"),
+                       new FormatString (24, 1.0034m, "F1", "1.0"),
+                       new FormatString (25, 1.0034m, "F2", "1.00"),
+                       new FormatString (26, 1.0034m, "F3", "1.003"),
+                       new FormatString (27, 1.0034m, "F4", "1.0034"),
+                       new FormatString (28, 1.0034m, "F5", "1.00340"),
+                       new FormatString (29, 1.0034m, "F6", "1.003400"),
+                       new FormatString (30, 1.0034m, "F7", "1.0034000"),
+                       new FormatString (31, 1.0034m, "F8", "1.00340000"),
+                       new FormatString (32, 1.0034m, "F9", "1.003400000"),
+                       new FormatString (33, 1.0034m, "G", "1.0034"),
+                       new FormatString (34, 1.0034m, "G0", "1.0034"),
+                       new FormatString (35, 1.0034m, "G1", "1"),
+                       new FormatString (36, 1.0034m, "G2", "1"),
+                       new FormatString (37, 1.0034m, "G3", "1"),
+                       new FormatString (38, 1.0034m, "G4", "1.003"),
+                       new FormatString (39, 1.0034m, "G5", "1.0034"),
+                       new FormatString (40, 1.0034m, "G6", "1.0034"),
+                       new FormatString (41, 1.0034m, "G7", "1.0034"),
+                       new FormatString (42, 1.0034m, "G8", "1.0034"),
+                       new FormatString (43, 1.0034m, "G9", "1.0034"),
+                       new FormatString (44, 1.0034m, "N", "1.00"),
+                       new FormatString (45, 1.0034m, "N0", "1"),
+                       new FormatString (46, 1.0034m, "N1", "1.0"),
+                       new FormatString (47, 1.0034m, "N2", "1.00"),
+                       new FormatString (48, 1.0034m, "N3", "1.003"),
+                       new FormatString (49, 1.0034m, "N4", "1.0034"),
+                       new FormatString (50, 1.0034m, "N5", "1.00340"),
+                       new FormatString (51, 1.0034m, "N6", "1.003400"),
+                       new FormatString (52, 1.0034m, "N7", "1.0034000"),
+                       new FormatString (53, 1.0034m, "N8", "1.00340000"),
+                       new FormatString (54, 1.0034m, "N9", "1.003400000"),
+                       new FormatString (55, 1.0034m, "P", "100.34 %"),
+                       new FormatString (56, 1.0034m, "P0", "100 %"),
+                       new FormatString (57, 1.0034m, "P1", "100.3 %"),
+                       new FormatString (58, 1.0034m, "P2", "100.34 %"),
+                       new FormatString (59, 1.0034m, "P3", "100.340 %"),
+                       new FormatString (60, 1.0034m, "P4", "100.3400 %"),
+                       new FormatString (61, 1.0034m, "P5", "100.34000 %"),
+                       new FormatString (62, 1.0034m, "P6", "100.340000 %"),
+                       new FormatString (63, 1.0034m, "P7", "100.3400000 %"),
+                       new FormatString (64, 1.0034m, "P8", "100.34000000 %"),
+                       new FormatString (65, 1.0034m, "P9", "100.340000000 %"),
+                       new FormatString (66, 343433.223m, "C", "$343,433.22"),
+                       new FormatString (67, 343433.223m, "C0", "$343,433"),
+                       new FormatString (68, 343433.223m, "C1", "$343,433.2"),
+                       new FormatString (69, 343433.223m, "C2", "$343,433.22"),
+                       new FormatString (70, 343433.223m, "C3", "$343,433.223"),
+                       new FormatString (71, 343433.223m, "C4", "$343,433.2230"),
+                       new FormatString (72, 343433.223m, "C5", "$343,433.22300"),
+                       new FormatString (73, 343433.223m, "C6", "$343,433.223000"),
+                       new FormatString (74, 343433.223m, "C7", "$343,433.2230000"),
+                       new FormatString (75, 343433.223m, "C8", "$343,433.22300000"),
+                       new FormatString (76, 343433.223m, "C9", "$343,433.223000000"),
+                       new FormatString (77, 343433.223m, "E", "3.434332E+005"),
+                       new FormatString (78, 343433.223m, "E0", "3E+005"),
+                       new FormatString (79, 343433.223m, "E1", "3.4E+005"),
+                       new FormatString (80, 343433.223m, "E2", "3.43E+005"),
+                       new FormatString (81, 343433.223m, "E3", "3.434E+005"),
+                       new FormatString (82, 343433.223m, "E4", "3.4343E+005"),
+                       new FormatString (83, 343433.223m, "E5", "3.43433E+005"),
+                       new FormatString (84, 343433.223m, "E6", "3.434332E+005"),
+                       new FormatString (85, 343433.223m, "E7", "3.4343322E+005"),
+                       new FormatString (86, 343433.223m, "E8", "3.43433223E+005"),
+                       new FormatString (87, 343433.223m, "E9", "3.434332230E+005"),
+                       new FormatString (88, 343433.223m, "F", "343433.22"),
+                       new FormatString (89, 343433.223m, "F0", "343433"),
+                       new FormatString (90, 343433.223m, "F1", "343433.2"),
+                       new FormatString (91, 343433.223m, "F2", "343433.22"),
+                       new FormatString (92, 343433.223m, "F3", "343433.223"),
+                       new FormatString (93, 343433.223m, "F4", "343433.2230"),
+                       new FormatString (94, 343433.223m, "F5", "343433.22300"),
+                       new FormatString (95, 343433.223m, "F6", "343433.223000"),
+                       new FormatString (96, 343433.223m, "F7", "343433.2230000"),
+                       new FormatString (97, 343433.223m, "F8", "343433.22300000"),
+                       new FormatString (98, 343433.223m, "F9", "343433.223000000"),
+                       new FormatString (99, 343433.223m, "G", "343433.223"),
+                       new FormatString (100, 343433.223m, "G0", "343433.223"),
+                       new FormatString (101, 343433.223m, "G1", "3E+05"),
+                       new FormatString (102, 343433.223m, "G2", "3.4E+05"),
+                       new FormatString (103, 343433.223m, "G3", "3.43E+05"),
+                       new FormatString (104, 343433.223m, "G4", "3.434E+05"),
+                       new FormatString (105, 343433.223m, "G5", "3.4343E+05"),
+                       new FormatString (106, 343433.223m, "G6", "343433"),
+                       new FormatString (107, 343433.223m, "G7", "343433.2"),
+                       new FormatString (108, 343433.223m, "G8", "343433.22"),
+                       new FormatString (109, 343433.223m, "G9", "343433.223"),
+                       new FormatString (110, 343433.223m, "N", "343,433.22"),
+                       new FormatString (111, 343433.223m, "N0", "343,433"),
+                       new FormatString (112, 343433.223m, "N1", "343,433.2"),
+                       new FormatString (113, 343433.223m, "N2", "343,433.22"),
+                       new FormatString (114, 343433.223m, "N3", "343,433.223"),
+                       new FormatString (115, 343433.223m, "N4", "343,433.2230"),
+                       new FormatString (116, 343433.223m, "N5", "343,433.22300"),
+                       new FormatString (117, 343433.223m, "N6", "343,433.223000"),
+                       new FormatString (118, 343433.223m, "N7", "343,433.2230000"),
+                       new FormatString (119, 343433.223m, "N8", "343,433.22300000"),
+                       new FormatString (120, 343433.223m, "N9", "343,433.223000000"),
+                       new FormatString (121, 343433.223m, "P", "34,343,322.30 %"),
+                       new FormatString (122, 343433.223m, "P0", "34,343,322 %"),
+                       new FormatString (123, 343433.223m, "P1", "34,343,322.3 %"),
+                       new FormatString (124, 343433.223m, "P2", "34,343,322.30 %"),
+                       new FormatString (125, 343433.223m, "P3", "34,343,322.300 %"),
+                       new FormatString (126, 343433.223m, "P4", "34,343,322.3000 %"),
+                       new FormatString (127, 343433.223m, "P5", "34,343,322.30000 %"),
+                       new FormatString (128, 343433.223m, "P6", "34,343,322.300000 %"),
+                       new FormatString (129, 343433.223m, "P7", "34,343,322.3000000 %"),
+                       new FormatString (130, 343433.223m, "P8", "34,343,322.30000000 %"),
+                       new FormatString (131, 343433.223m, "P9", "34,343,322.300000000 %"),
+                       new FormatString (132, -1.9292929332m, "C", "($1.93)"),
+                       new FormatString (133, -1.9292929332m, "C0", "($2)"),
+                       new FormatString (134, -1.9292929332m, "C1", "($1.9)"),
+                       new FormatString (135, -1.9292929332m, "C2", "($1.93)"),
+                       new FormatString (136, -1.9292929332m, "C3", "($1.929)"),
+                       new FormatString (137, -1.9292929332m, "C4", "($1.9293)"),
+                       new FormatString (138, -1.9292929332m, "C5", "($1.92929)"),
+                       new FormatString (139, -1.9292929332m, "C6", "($1.929293)"),
+                       new FormatString (140, -1.9292929332m, "C7", "($1.9292929)"),
+                       new FormatString (141, -1.9292929332m, "C8", "($1.92929293)"),
+                       new FormatString (142, -1.9292929332m, "C9", "($1.929292933)"),
+                       new FormatString (143, -1.9292929332m, "E", "-1.929293E+000"),
+                       new FormatString (144, -1.9292929332m, "E0", "-2E+000"),
+                       new FormatString (145, -1.9292929332m, "E1", "-1.9E+000"),
+                       new FormatString (146, -1.9292929332m, "E2", "-1.93E+000"),
+                       new FormatString (147, -1.9292929332m, "E3", "-1.929E+000"),
+                       new FormatString (148, -1.9292929332m, "E4", "-1.9293E+000"),
+                       new FormatString (149, -1.9292929332m, "E5", "-1.92929E+000"),
+                       new FormatString (150, -1.9292929332m, "E6", "-1.929293E+000"),
+                       new FormatString (151, -1.9292929332m, "E7", "-1.9292929E+000"),
+                       new FormatString (152, -1.9292929332m, "E8", "-1.92929293E+000"),
+                       new FormatString (153, -1.9292929332m, "E9", "-1.929292933E+000"),
+                       new FormatString (154, -1.9292929332m, "F", "-1.93"),
+                       new FormatString (155, -1.9292929332m, "F0", "-2"),
+                       new FormatString (156, -1.9292929332m, "F1", "-1.9"),
+                       new FormatString (157, -1.9292929332m, "F2", "-1.93"),
+                       new FormatString (158, -1.9292929332m, "F3", "-1.929"),
+                       new FormatString (159, -1.9292929332m, "F4", "-1.9293"),
+                       new FormatString (160, -1.9292929332m, "F5", "-1.92929"),
+                       new FormatString (161, -1.9292929332m, "F6", "-1.929293"),
+                       new FormatString (162, -1.9292929332m, "F7", "-1.9292929"),
+                       new FormatString (163, -1.9292929332m, "F8", "-1.92929293"),
+                       new FormatString (164, -1.9292929332m, "F9", "-1.929292933"),
+                       new FormatString (165, -1.9292929332m, "G", "-1.9292929332"),
+                       new FormatString (166, -1.9292929332m, "G0", "-1.9292929332"),
+                       new FormatString (167, -1.9292929332m, "G1", "-2"),
+                       new FormatString (168, -1.9292929332m, "G2", "-1.9"),
+                       new FormatString (169, -1.9292929332m, "G3", "-1.93"),
+                       new FormatString (170, -1.9292929332m, "G4", "-1.929"),
+                       new FormatString (171, -1.9292929332m, "G5", "-1.9293"),
+                       new FormatString (172, -1.9292929332m, "G6", "-1.92929"),
+                       new FormatString (173, -1.9292929332m, "G7", "-1.929293"),
+                       new FormatString (174, -1.9292929332m, "G8", "-1.9292929"),
+                       new FormatString (175, -1.9292929332m, "G9", "-1.92929293"),
+                       new FormatString (176, -1.9292929332m, "N", "-1.93"),
+                       new FormatString (177, -1.9292929332m, "N0", "-2"),
+                       new FormatString (178, -1.9292929332m, "N1", "-1.9"),
+                       new FormatString (179, -1.9292929332m, "N2", "-1.93"),
+                       new FormatString (180, -1.9292929332m, "N3", "-1.929"),
+                       new FormatString (181, -1.9292929332m, "N4", "-1.9293"),
+                       new FormatString (182, -1.9292929332m, "N5", "-1.92929"),
+                       new FormatString (183, -1.9292929332m, "N6", "-1.929293"),
+                       new FormatString (184, -1.9292929332m, "N7", "-1.9292929"),
+                       new FormatString (185, -1.9292929332m, "N8", "-1.92929293"),
+                       new FormatString (186, -1.9292929332m, "N9", "-1.929292933"),
+                       new FormatString (187, -1.9292929332m, "P", "-192.93 %"),
+                       new FormatString (188, -1.9292929332m, "P0", "-193 %"),
+                       new FormatString (189, -1.9292929332m, "P1", "-192.9 %"),
+                       new FormatString (190, -1.9292929332m, "P2", "-192.93 %"),
+                       new FormatString (191, -1.9292929332m, "P3", "-192.929 %"),
+                       new FormatString (192, -1.9292929332m, "P4", "-192.9293 %"),
+                       new FormatString (193, -1.9292929332m, "P5", "-192.92929 %"),
+                       new FormatString (194, -1.9292929332m, "P6", "-192.929293 %"),
+                       new FormatString (195, -1.9292929332m, "P7", "-192.9292933 %"),
+                       new FormatString (196, -1.9292929332m, "P8", "-192.92929332 %"),
+                       new FormatString (197, -1.9292929332m, "P9", "-192.929293320 %"),
+                       new FormatString (198, 67234234.23434343434341111m, "C", "$67,234,234.23"),
+                       new FormatString (199, 67234234.23434343434341111m, "C0", "$67,234,234"),
+                       new FormatString (200, 67234234.23434343434341111m, "C1", "$67,234,234.2"),
+                       new FormatString (201, 67234234.23434343434341111m, "C2", "$67,234,234.23"),
+                       new FormatString (202, 67234234.23434343434341111m, "C3", "$67,234,234.234"),
+                       new FormatString (203, 67234234.23434343434341111m, "C4", "$67,234,234.2343"),
+                       new FormatString (204, 67234234.23434343434341111m, "C5", "$67,234,234.23434"),
+                       new FormatString (205, 67234234.23434343434341111m, "C6", "$67,234,234.234343"),
+                       new FormatString (206, 67234234.23434343434341111m, "C7", "$67,234,234.2343434"),
+                       new FormatString (207, 67234234.23434343434341111m, "C8", "$67,234,234.23434343"),
+                       new FormatString (208, 67234234.23434343434341111m, "C9", "$67,234,234.234343434"),
+                       new FormatString (209, 67234234.23434343434341111m, "E", "6.723423E+007"),
+                       new FormatString (210, 67234234.23434343434341111m, "E0", "7E+007"),
+                       new FormatString (211, 67234234.23434343434341111m, "E1", "6.7E+007"),
+                       new FormatString (212, 67234234.23434343434341111m, "E2", "6.72E+007"),
+                       new FormatString (213, 67234234.23434343434341111m, "E3", "6.723E+007"),
+                       new FormatString (214, 67234234.23434343434341111m, "E4", "6.7234E+007"),
+                       new FormatString (215, 67234234.23434343434341111m, "E5", "6.72342E+007"),
+                       new FormatString (216, 67234234.23434343434341111m, "E6", "6.723423E+007"),
+                       new FormatString (217, 67234234.23434343434341111m, "E7", "6.7234234E+007"),
+                       new FormatString (218, 67234234.23434343434341111m, "E8", "6.72342342E+007"),
+                       new FormatString (219, 67234234.23434343434341111m, "E9", "6.723423423E+007"),
+                       new FormatString (220, 67234234.23434343434341111m, "F", "67234234.23"),
+                       new FormatString (221, 67234234.23434343434341111m, "F0", "67234234"),
+                       new FormatString (222, 67234234.23434343434341111m, "F1", "67234234.2"),
+                       new FormatString (223, 67234234.23434343434341111m, "F2", "67234234.23"),
+                       new FormatString (224, 67234234.23434343434341111m, "F3", "67234234.234"),
+                       new FormatString (225, 67234234.23434343434341111m, "F4", "67234234.2343"),
+                       new FormatString (226, 67234234.23434343434341111m, "F5", "67234234.23434"),
+                       new FormatString (227, 67234234.23434343434341111m, "F6", "67234234.234343"),
+                       new FormatString (228, 67234234.23434343434341111m, "F7", "67234234.2343434"),
+                       new FormatString (229, 67234234.23434343434341111m, "F8", "67234234.23434343"),
+                       new FormatString (230, 67234234.23434343434341111m, "F9", "67234234.234343434"),
+                       new FormatString (231, 67234234.23434343434341111m, "G", "67234234.23434343434341111"),
+                       new FormatString (232, 67234234.23434343434341111m, "G0", "67234234.23434343434341111"),
+                       new FormatString (233, 67234234.23434343434341111m, "G1", "7E+07"),
+                       new FormatString (234, 67234234.23434343434341111m, "G2", "6.7E+07"),
+                       new FormatString (235, 67234234.23434343434341111m, "G3", "6.72E+07"),
+                       new FormatString (236, 67234234.23434343434341111m, "G4", "6.723E+07"),
+                       new FormatString (237, 67234234.23434343434341111m, "G5", "6.7234E+07"),
+                       new FormatString (238, 67234234.23434343434341111m, "G6", "6.72342E+07"),
+                       new FormatString (239, 67234234.23434343434341111m, "G7", "6.723423E+07"),
+                       new FormatString (240, 67234234.23434343434341111m, "G8", "67234234"),
+                       new FormatString (241, 67234234.23434343434341111m, "G9", "67234234.2"),
+                       new FormatString (242, 67234234.23434343434341111m, "N", "67,234,234.23"),
+                       new FormatString (243, 67234234.23434343434341111m, "N0", "67,234,234"),
+                       new FormatString (244, 67234234.23434343434341111m, "N1", "67,234,234.2"),
+                       new FormatString (245, 67234234.23434343434341111m, "N2", "67,234,234.23"),
+                       new FormatString (246, 67234234.23434343434341111m, "N3", "67,234,234.234"),
+                       new FormatString (247, 67234234.23434343434341111m, "N4", "67,234,234.2343"),
+                       new FormatString (248, 67234234.23434343434341111m, "N5", "67,234,234.23434"),
+                       new FormatString (249, 67234234.23434343434341111m, "N6", "67,234,234.234343"),
+                       new FormatString (250, 67234234.23434343434341111m, "N7", "67,234,234.2343434"),
+                       new FormatString (251, 67234234.23434343434341111m, "N8", "67,234,234.23434343"),
+                       new FormatString (252, 67234234.23434343434341111m, "N9", "67,234,234.234343434"),
+                       new FormatString (253, 67234234.23434343434341111m, "P", "6,723,423,423.43 %"),
+                       new FormatString (254, 67234234.23434343434341111m, "P0", "6,723,423,423 %"),
+                       new FormatString (255, 67234234.23434343434341111m, "P1", "6,723,423,423.4 %"),
+                       new FormatString (256, 67234234.23434343434341111m, "P2", "6,723,423,423.43 %"),
+                       new FormatString (257, 67234234.23434343434341111m, "P3", "6,723,423,423.434 %"),
+                       new FormatString (258, 67234234.23434343434341111m, "P4", "6,723,423,423.4343 %"),
+                       new FormatString (259, 67234234.23434343434341111m, "P5", "6,723,423,423.43434 %"),
+                       new FormatString (260, 67234234.23434343434341111m, "P6", "6,723,423,423.434343 %"),
+                       new FormatString (261, 67234234.23434343434341111m, "P7", "6,723,423,423.4343434 %"),
+                       new FormatString (262, 67234234.23434343434341111m, "P8", "6,723,423,423.43434343 %"),
+                       new FormatString (263, 67234234.23434343434341111m, "P9", "6,723,423,423.434343434 %")
+               };
+       }
+}