Add DoubleFormatterTest
authorMiguel de Icaza <miguel@gnome.org>
Tue, 20 May 2003 22:05:28 +0000 (22:05 -0000)
committerMiguel de Icaza <miguel@gnome.org>
Tue, 20 May 2003 22:05:28 +0000 (22:05 -0000)
svn path=/trunk/mcs/; revision=14738

mcs/class/corlib/Test/System/DoubleFormatterTest.cs [new file with mode: 0644]

diff --git a/mcs/class/corlib/Test/System/DoubleFormatterTest.cs b/mcs/class/corlib/Test/System/DoubleFormatterTest.cs
new file mode 100644 (file)
index 0000000..f14e98e
--- /dev/null
@@ -0,0 +1,359 @@
+//
+// DoubleFormatterTest.cs - NUnit Test Cases for System.DoubleFormatter
+//
+// Author:
+//     Patrick Kalkman  kalkman@cistron.nl
+//
+// (C) 2003 Patrick Kalkman
+// 
+using NUnit.Framework;
+using System;
+using System.Threading;
+using System.Globalization;
+
+namespace MonoTests.System {
+       
+       [TestFixture]
+       public class DoubleFormatterTest 
+       {
+               [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]
+               [ExpectedException(typeof(FormatException))]
+               public void TestToDecimal()
+               {
+                       Double x = 1.0000001F;
+                       string Result = x.ToString ("D2"); //To Decimal is for integral types only. 
+               }
+               
+               [Test]
+               [ExpectedException(typeof(FormatException))]
+               public void TestToHex()
+               {
+                       Double x = 1.212121F;
+                       string Result = x.ToString ("X2"); //To Hex is for integral types only. 
+               }
+
+               [Test]
+               [ExpectedException(typeof(FormatException))]
+               public void TestToUnknown()
+               {
+                       Double x = 1.212121F;
+                       string Result = x.ToString ("L2"); //Invalid format. 
+               }
+               
+               private void FormatStringTest(int TestNumber, double Number, string Format, string ExpectedResult)
+               {
+                       Assertion.AssertEquals ("DblF #" + TestNumber, ExpectedResult, Number.ToString(Format));                                
+               }
+
+               [Test]
+               public void TestFormatStrings()
+               {
+                        FormatStringTest (0, 99999.9999996, "C", "$100,000.00");  
+                        FormatStringTest (1, 99999.9999996, "C0", "$100,000");  
+                        FormatStringTest (2, 99999.9999996, "C1", "$100,000.0");  
+                        FormatStringTest (3, 99999.9999996, "C2", "$100,000.00");  
+                        FormatStringTest (4, 99999.9999996, "C3", "$100,000.000");  
+                        FormatStringTest (5, 99999.9999996, "C4", "$100,000.0000");  
+                        FormatStringTest (6, 99999.9999996, "C5", "$100,000.00000");  
+                        FormatStringTest (7, 99999.9999996, "C6", "$100,000.000000");  
+                        FormatStringTest (8, 99999.9999996, "C7", "$99,999.9999996");  
+                        FormatStringTest (9, 99999.9999996, "C8", "$99,999.99999960");  
+                        FormatStringTest (10, 99999.9999996, "C9", "$99,999.999999600");  
+                        FormatStringTest (11, 99999.9999996, "C67", "$99,999.9999996000000000000000000000000000000000000000000000000000000000000");  
+                        FormatStringTest (12, 99999.9999996, "E", "1.000000E+005");  
+                        FormatStringTest (13, 99999.9999996, "E0", "1E+005");  
+                        FormatStringTest (14, 99999.9999996, "E1", "1.0E+005");  
+                        FormatStringTest (15, 99999.9999996, "E2", "1.00E+005");  
+                        FormatStringTest (16, 99999.9999996, "E3", "1.000E+005");  
+                        FormatStringTest (17, 99999.9999996, "E4", "1.0000E+005");  
+                        FormatStringTest (18, 99999.9999996, "E5", "1.00000E+005");  
+                        FormatStringTest (19, 99999.9999996, "E6", "1.000000E+005");  
+                        FormatStringTest (20, 99999.9999996, "E7", "1.0000000E+005");  
+                        FormatStringTest (21, 99999.9999996, "E8", "1.00000000E+005");  
+                        FormatStringTest (22, 99999.9999996, "E9", "1.000000000E+005");  
+                        FormatStringTest (23, 99999.9999996, "E67", "9.9999999999599997000000000000000000000000000000000000000000000000000E+004");  
+                        FormatStringTest (24, 99999.9999996, "F", "100000.00");  
+                        FormatStringTest (25, 99999.9999996, "F0", "100000");  
+                        FormatStringTest (26, 99999.9999996, "F1", "100000.0");  
+                        FormatStringTest (27, 99999.9999996, "F2", "100000.00");  
+                        FormatStringTest (28, 99999.9999996, "F3", "100000.000");  
+                        FormatStringTest (29, 99999.9999996, "F4", "100000.0000");  
+                        FormatStringTest (30, 99999.9999996, "F5", "100000.00000");  
+                        FormatStringTest (31, 99999.9999996, "F6", "100000.000000");  
+                        FormatStringTest (32, 99999.9999996, "F7", "99999.9999996");  
+                        FormatStringTest (33, 99999.9999996, "F8", "99999.99999960");  
+                        FormatStringTest (34, 99999.9999996, "F9", "99999.999999600");  
+                        FormatStringTest (35, 99999.9999996, "F67", "99999.9999996000000000000000000000000000000000000000000000000000000000000");  
+                        FormatStringTest (36, 99999.9999996, "G", "99999.9999996");  
+                        FormatStringTest (37, 99999.9999996, "G0", "99999.9999996");  
+                        FormatStringTest (38, 99999.9999996, "G1", "1E+05");  
+                        FormatStringTest (39, 99999.9999996, "G2", "1E+05");  
+                        FormatStringTest (40, 99999.9999996, "G3", "1E+05");  
+                        FormatStringTest (41, 99999.9999996, "G4", "1E+05");  
+                        FormatStringTest (42, 99999.9999996, "G5", "1E+05");  
+                        FormatStringTest (43, 99999.9999996, "G6", "100000");  
+                        FormatStringTest (44, 99999.9999996, "G7", "100000");  
+                        FormatStringTest (45, 99999.9999996, "G8", "100000");  
+                        FormatStringTest (46, 99999.9999996, "G9", "100000");  
+                        FormatStringTest (47, 99999.9999996, "G67", "99999.999999599997");  
+                        FormatStringTest (48, 99999.9999996, "N", "100,000.00");  
+                        FormatStringTest (49, 99999.9999996, "N0", "100,000");  
+                        FormatStringTest (50, 99999.9999996, "N1", "100,000.0");  
+                        FormatStringTest (51, 99999.9999996, "N2", "100,000.00");  
+                        FormatStringTest (52, 99999.9999996, "N3", "100,000.000");  
+                        FormatStringTest (53, 99999.9999996, "N4", "100,000.0000");  
+                        FormatStringTest (54, 99999.9999996, "N5", "100,000.00000");  
+                        FormatStringTest (55, 99999.9999996, "N6", "100,000.000000");  
+                        FormatStringTest (56, 99999.9999996, "N7", "99,999.9999996");  
+                        FormatStringTest (57, 99999.9999996, "N8", "99,999.99999960");  
+                        FormatStringTest (58, 99999.9999996, "N9", "99,999.999999600");  
+                        FormatStringTest (59, 99999.9999996, "N67", "99,999.9999996000000000000000000000000000000000000000000000000000000000000");  
+                        FormatStringTest (60, 99999.9999996, "P", "10,000,000.00 %");  
+                        FormatStringTest (61, 99999.9999996, "P0", "10,000,000 %");  
+                        FormatStringTest (62, 99999.9999996, "P1", "10,000,000.0 %");  
+                        FormatStringTest (63, 99999.9999996, "P2", "10,000,000.00 %");  
+                        FormatStringTest (64, 99999.9999996, "P3", "10,000,000.000 %");  
+                        FormatStringTest (65, 99999.9999996, "P4", "10,000,000.0000 %");  
+                        FormatStringTest (66, 99999.9999996, "P5", "9,999,999.99996 %");  
+                        FormatStringTest (67, 99999.9999996, "P6", "9,999,999.999960 %");  
+                        FormatStringTest (68, 99999.9999996, "P7", "9,999,999.9999600 %");  
+                        FormatStringTest (69, 99999.9999996, "P8", "9,999,999.99996000 %");  
+                        FormatStringTest (70, 99999.9999996, "P9", "9,999,999.999960000 %");  
+                        FormatStringTest (71, 99999.9999996, "P67", "9,999,999.9999600000000000000000000000000000000000000000000000000000000000000 %");  
+                        FormatStringTest (72, 1.79769313486231E+308, "C", "$179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00");  
+                        FormatStringTest (73, 1.79769313486231E+308, "C0", "$179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000");  
+                        FormatStringTest (74, 1.79769313486231E+308, "C1", "$179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0");  
+                        FormatStringTest (75, 1.79769313486231E+308, "C2", "$179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00");  
+                        FormatStringTest (76, 1.79769313486231E+308, "C3", "$179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000");  
+                        FormatStringTest (77, 1.79769313486231E+308, "C4", "$179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000");  
+                        FormatStringTest (78, 1.79769313486231E+308, "C5", "$179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00000");  
+                        FormatStringTest (79, 1.79769313486231E+308, "C6", "$179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000000");  
+                        FormatStringTest (80, 1.79769313486231E+308, "C7", "$179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000000");  
+                        FormatStringTest (81, 1.79769313486231E+308, "C8", "$179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00000000");  
+                        FormatStringTest (82, 1.79769313486231E+308, "C9", "$179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000000000");  
+                        FormatStringTest (83, 1.79769313486231E+308, "C67", "$179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000000000000000000000000000000000000000000000000000000000000000000");  
+                        FormatStringTest (84, 1.79769313486231E+308, "E", "1.797693E+308");  
+                        FormatStringTest (85, 1.79769313486231E+308, "E0", "2E+308");  
+                        FormatStringTest (86, 1.79769313486231E+308, "E1", "1.8E+308");  
+                        FormatStringTest (87, 1.79769313486231E+308, "E2", "1.80E+308");  
+                        FormatStringTest (88, 1.79769313486231E+308, "E3", "1.798E+308");  
+                        FormatStringTest (89, 1.79769313486231E+308, "E4", "1.7977E+308");  
+                        FormatStringTest (90, 1.79769313486231E+308, "E5", "1.79769E+308");  
+                        FormatStringTest (91, 1.79769313486231E+308, "E6", "1.797693E+308");  
+                        FormatStringTest (92, 1.79769313486231E+308, "E7", "1.7976931E+308");  
+                        FormatStringTest (93, 1.79769313486231E+308, "E8", "1.79769313E+308");  
+                        FormatStringTest (94, 1.79769313486231E+308, "E9", "1.797693135E+308");  
+                        FormatStringTest (95, 1.79769313486231E+308, "E67", "1.7976931348623099000000000000000000000000000000000000000000000000000E+308");  
+                        FormatStringTest (96, 1.79769313486231E+308, "F", "179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00");  
+                        FormatStringTest (97, 1.79769313486231E+308, "F0", "179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000");  
+                        FormatStringTest (98, 1.79769313486231E+308, "F1", "179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0");  
+                        FormatStringTest (99, 1.79769313486231E+308, "F2", "179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00");  
+                        FormatStringTest (100, 1.79769313486231E+308, "F3", "179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000");  
+                        FormatStringTest (101, 1.79769313486231E+308, "F4", "179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000");  
+                        FormatStringTest (102, 1.79769313486231E+308, "F5", "179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00000");  
+                        FormatStringTest (103, 1.79769313486231E+308, "F6", "179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000");  
+                        FormatStringTest (104, 1.79769313486231E+308, "F7", "179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000000");  
+                        FormatStringTest (105, 1.79769313486231E+308, "F8", "179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00000000");  
+                        FormatStringTest (106, 1.79769313486231E+308, "F9", "179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000000");  
+                        FormatStringTest (107, 1.79769313486231E+308, "F67", "179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000000000000000000000000000000000000000000000000000000000000000000");  
+                        FormatStringTest (108, 1.79769313486231E+308, "G", "1.79769313486231E+308");  
+                        FormatStringTest (109, 1.79769313486231E+308, "G0", "1.79769313486231E+308");  
+                        FormatStringTest (110, 1.79769313486231E+308, "G1", "2E+308");  
+                        FormatStringTest (111, 1.79769313486231E+308, "G2", "1.8E+308");  
+                        FormatStringTest (112, 1.79769313486231E+308, "G3", "1.8E+308");  
+                        FormatStringTest (113, 1.79769313486231E+308, "G4", "1.798E+308");  
+                        FormatStringTest (114, 1.79769313486231E+308, "G5", "1.7977E+308");  
+                        FormatStringTest (115, 1.79769313486231E+308, "G6", "1.79769E+308");  
+                        FormatStringTest (116, 1.79769313486231E+308, "G7", "1.797693E+308");  
+                        FormatStringTest (117, 1.79769313486231E+308, "G8", "1.7976931E+308");  
+                        FormatStringTest (118, 1.79769313486231E+308, "G9", "1.79769313E+308");  
+                        FormatStringTest (119, 1.79769313486231E+308, "G67", "1.7976931348623099E+308");  
+                        FormatStringTest (120, 1.79769313486231E+308, "N", "179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00");  
+                        FormatStringTest (121, 1.79769313486231E+308, "N0", "179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000");  
+                        FormatStringTest (122, 1.79769313486231E+308, "N1", "179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0");  
+                        FormatStringTest (123, 1.79769313486231E+308, "N2", "179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00");  
+                        FormatStringTest (124, 1.79769313486231E+308, "N3", "179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000");  
+                        FormatStringTest (125, 1.79769313486231E+308, "N4", "179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000");  
+                        FormatStringTest (126, 1.79769313486231E+308, "N5", "179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00000");  
+                        FormatStringTest (127, 1.79769313486231E+308, "N6", "179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000000");  
+                        FormatStringTest (128, 1.79769313486231E+308, "N7", "179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000000");  
+                        FormatStringTest (129, 1.79769313486231E+308, "N8", "179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00000000");  
+                        FormatStringTest (130, 1.79769313486231E+308, "N9", "179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000000000");  
+                        FormatStringTest (131, 1.79769313486231E+308, "N67", "179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000000000000000000000000000000000000000000000000000000000000000000");  
+                        FormatStringTest (132, 1.79769313486231E+308, "P", "17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00 %");  
+                        FormatStringTest (133, 1.79769313486231E+308, "P0", "17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 %");  
+                        FormatStringTest (134, 1.79769313486231E+308, "P1", "17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0 %");  
+                        FormatStringTest (135, 1.79769313486231E+308, "P2", "17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00 %");  
+                        FormatStringTest (136, 1.79769313486231E+308, "P3", "17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000 %");  
+                        FormatStringTest (137, 1.79769313486231E+308, "P4", "17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000 %");  
+                        FormatStringTest (138, 1.79769313486231E+308, "P5", "17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00000 %");  
+                        FormatStringTest (139, 1.79769313486231E+308, "P6", "17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000000 %");  
+                        FormatStringTest (140, 1.79769313486231E+308, "P7", "17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000000 %");  
+                        FormatStringTest (141, 1.79769313486231E+308, "P8", "17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00000000 %");  
+                        FormatStringTest (142, 1.79769313486231E+308, "P9", "17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000000000 %");  
+                        FormatStringTest (143, 1.79769313486231E+308, "P67", "17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000000000000000000000000000000000000000000000000000000000000000000 %");  
+                        FormatStringTest (144, -1.79769313486231E+308, "C", "($179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00)");  
+                        FormatStringTest (145, -1.79769313486231E+308, "C0", "($179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000)");  
+                        FormatStringTest (146, -1.79769313486231E+308, "C1", "($179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0)");  
+                        FormatStringTest (147, -1.79769313486231E+308, "C2", "($179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00)");  
+                        FormatStringTest (148, -1.79769313486231E+308, "C3", "($179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000)");  
+                        FormatStringTest (149, -1.79769313486231E+308, "C4", "($179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000)");  
+                        FormatStringTest (150, -1.79769313486231E+308, "C5", "($179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00000)");  
+                        FormatStringTest (151, -1.79769313486231E+308, "C6", "($179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000000)");  
+                        FormatStringTest (152, -1.79769313486231E+308, "C7", "($179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000000)");  
+                        FormatStringTest (153, -1.79769313486231E+308, "C8", "($179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00000000)");  
+                        FormatStringTest (154, -1.79769313486231E+308, "C9", "($179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000000000)");  
+                        FormatStringTest (155, -1.79769313486231E+308, "C67", "($179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000000000000000000000000000000000000000000000000000000000000000000)");  
+                        FormatStringTest (156, -1.79769313486231E+308, "E", "-1.797693E+308");  
+                        FormatStringTest (157, -1.79769313486231E+308, "E0", "-2E+308");  
+                        FormatStringTest (158, -1.79769313486231E+308, "E1", "-1.8E+308");  
+                        FormatStringTest (159, -1.79769313486231E+308, "E2", "-1.80E+308");  
+                        FormatStringTest (160, -1.79769313486231E+308, "E3", "-1.798E+308");  
+                        FormatStringTest (161, -1.79769313486231E+308, "E4", "-1.7977E+308");  
+                        FormatStringTest (162, -1.79769313486231E+308, "E5", "-1.79769E+308");  
+                        FormatStringTest (163, -1.79769313486231E+308, "E6", "-1.797693E+308");  
+                        FormatStringTest (164, -1.79769313486231E+308, "E7", "-1.7976931E+308");  
+                        FormatStringTest (165, -1.79769313486231E+308, "E8", "-1.79769313E+308");  
+                        FormatStringTest (166, -1.79769313486231E+308, "E9", "-1.797693135E+308");  
+                        FormatStringTest (167, -1.79769313486231E+308, "E67", "-1.7976931348623099000000000000000000000000000000000000000000000000000E+308");  
+                        FormatStringTest (168, -1.79769313486231E+308, "F", "-179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00");  
+                        FormatStringTest (169, -1.79769313486231E+308, "F0", "-179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000");  
+                        FormatStringTest (170, -1.79769313486231E+308, "F1", "-179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0");  
+                        FormatStringTest (171, -1.79769313486231E+308, "F2", "-179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00");  
+                        FormatStringTest (172, -1.79769313486231E+308, "F3", "-179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000");  
+                        FormatStringTest (173, -1.79769313486231E+308, "F4", "-179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000");  
+                        FormatStringTest (174, -1.79769313486231E+308, "F5", "-179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00000");  
+                        FormatStringTest (175, -1.79769313486231E+308, "F6", "-179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000");  
+                        FormatStringTest (176, -1.79769313486231E+308, "F7", "-179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000000");  
+                        FormatStringTest (177, -1.79769313486231E+308, "F8", "-179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00000000");  
+                        FormatStringTest (178, -1.79769313486231E+308, "F9", "-179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000000");  
+                        FormatStringTest (179, -1.79769313486231E+308, "F67", "-179769313486231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000000000000000000000000000000000000000000000000000000000000000000");  
+                        FormatStringTest (180, -1.79769313486231E+308, "G", "-1.79769313486231E+308");  
+                        FormatStringTest (181, -1.79769313486231E+308, "G0", "-1.79769313486231E+308");  
+                        FormatStringTest (182, -1.79769313486231E+308, "G1", "-2E+308");  
+                        FormatStringTest (183, -1.79769313486231E+308, "G2", "-1.8E+308");  
+                        FormatStringTest (184, -1.79769313486231E+308, "G3", "-1.8E+308");  
+                        FormatStringTest (185, -1.79769313486231E+308, "G4", "-1.798E+308");  
+                        FormatStringTest (186, -1.79769313486231E+308, "G5", "-1.7977E+308");  
+                        FormatStringTest (187, -1.79769313486231E+308, "G6", "-1.79769E+308");  
+                        FormatStringTest (188, -1.79769313486231E+308, "G7", "-1.797693E+308");  
+                        FormatStringTest (189, -1.79769313486231E+308, "G8", "-1.7976931E+308");  
+                        FormatStringTest (190, -1.79769313486231E+308, "G9", "-1.79769313E+308");  
+                        FormatStringTest (191, -1.79769313486231E+308, "G67", "-1.7976931348623099E+308");  
+                        FormatStringTest (192, -1.79769313486231E+308, "N", "-179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00");  
+                        FormatStringTest (193, -1.79769313486231E+308, "N0", "-179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000");  
+                        FormatStringTest (194, -1.79769313486231E+308, "N1", "-179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0");  
+                        FormatStringTest (195, -1.79769313486231E+308, "N2", "-179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00");  
+                        FormatStringTest (196, -1.79769313486231E+308, "N3", "-179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000");  
+                        FormatStringTest (197, -1.79769313486231E+308, "N4", "-179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000");  
+                        FormatStringTest (198, -1.79769313486231E+308, "N5", "-179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00000");  
+                        FormatStringTest (199, -1.79769313486231E+308, "N6", "-179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000000");  
+                        FormatStringTest (200, -1.79769313486231E+308, "N7", "-179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000000");  
+                        FormatStringTest (201, -1.79769313486231E+308, "N8", "-179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00000000");  
+                        FormatStringTest (202, -1.79769313486231E+308, "N9", "-179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000000000");  
+                        FormatStringTest (203, -1.79769313486231E+308, "N67", "-179,769,313,486,231,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000000000000000000000000000000000000000000000000000000000000000000");  
+                        FormatStringTest (204, -1.79769313486231E+308, "P", "-17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00 %");  
+                        FormatStringTest (205, -1.79769313486231E+308, "P0", "-17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 %");  
+                        FormatStringTest (206, -1.79769313486231E+308, "P1", "-17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0 %");  
+                        FormatStringTest (207, -1.79769313486231E+308, "P2", "-17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00 %");  
+                        FormatStringTest (208, -1.79769313486231E+308, "P3", "-17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000 %");  
+                        FormatStringTest (209, -1.79769313486231E+308, "P4", "-17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000 %");  
+                        FormatStringTest (210, -1.79769313486231E+308, "P5", "-17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00000 %");  
+                        FormatStringTest (211, -1.79769313486231E+308, "P6", "-17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000000 %");  
+                        FormatStringTest (212, -1.79769313486231E+308, "P7", "-17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000000 %");  
+                        FormatStringTest (213, -1.79769313486231E+308, "P8", "-17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.00000000 %");  
+                        FormatStringTest (214, -1.79769313486231E+308, "P9", "-17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.000000000 %");  
+                        FormatStringTest (215, -1.79769313486231E+308, "P67", "-17,976,931,348,623,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.0000000000000000000000000000000000000000000000000000000000000000000 %");  
+                        FormatStringTest (216, 1E-10, "C", "$0.00");  
+                        FormatStringTest (217, 1E-10, "C0", "$0");  
+                        FormatStringTest (218, 1E-10, "C1", "$0.0");  
+                        FormatStringTest (219, 1E-10, "C2", "$0.00");  
+                        FormatStringTest (220, 1E-10, "C3", "$0.000");  
+                        FormatStringTest (221, 1E-10, "C4", "$0.0000");  
+                        FormatStringTest (222, 1E-10, "C5", "$0.00000");  
+                        FormatStringTest (223, 1E-10, "C6", "$0.000000");  
+                        FormatStringTest (224, 1E-10, "C7", "$0.0000000");  
+                        FormatStringTest (225, 1E-10, "C8", "$0.00000000");  
+                        FormatStringTest (226, 1E-10, "C9", "$0.000000000");  
+                        FormatStringTest (227, 1E-10, "C67", "$0.0000000001000000000000000000000000000000000000000000000000000000000");  
+                        FormatStringTest (228, 1E-10, "E", "1.000000E-010");  
+                        FormatStringTest (229, 1E-10, "E0", "1E-010");  
+                        FormatStringTest (230, 1E-10, "E1", "1.0E-010");  
+                        FormatStringTest (231, 1E-10, "E2", "1.00E-010");  
+                        FormatStringTest (232, 1E-10, "E3", "1.000E-010");  
+                        FormatStringTest (233, 1E-10, "E4", "1.0000E-010");  
+                        FormatStringTest (234, 1E-10, "E5", "1.00000E-010");  
+                        FormatStringTest (235, 1E-10, "E6", "1.000000E-010");  
+                        FormatStringTest (236, 1E-10, "E7", "1.0000000E-010");  
+                        FormatStringTest (237, 1E-10, "E8", "1.00000000E-010");  
+                        FormatStringTest (238, 1E-10, "E9", "1.000000000E-010");  
+                        FormatStringTest (239, 1E-10, "E67", "1.0000000000000000000000000000000000000000000000000000000000000000000E-010");  
+                        FormatStringTest (240, 1E-10, "F", "0.00");  
+                        FormatStringTest (241, 1E-10, "F0", "0");  
+                        FormatStringTest (242, 1E-10, "F1", "0.0");  
+                        FormatStringTest (243, 1E-10, "F2", "0.00");  
+                        FormatStringTest (244, 1E-10, "F3", "0.000");  
+                        FormatStringTest (245, 1E-10, "F4", "0.0000");  
+                        FormatStringTest (246, 1E-10, "F5", "0.00000");  
+                        FormatStringTest (247, 1E-10, "F6", "0.000000");  
+                        FormatStringTest (248, 1E-10, "F7", "0.0000000");  
+                        FormatStringTest (249, 1E-10, "F8", "0.00000000");  
+                        FormatStringTest (250, 1E-10, "F9", "0.000000000");  
+                        FormatStringTest (251, 1E-10, "F67", "0.0000000001000000000000000000000000000000000000000000000000000000000");  
+                        FormatStringTest (252, 1E-10, "G", "1E-10");  
+                        FormatStringTest (253, 1E-10, "G0", "1E-10");  
+                        FormatStringTest (254, 1E-10, "G1", "1E-10");  
+                        FormatStringTest (255, 1E-10, "G2", "1E-10");  
+                        FormatStringTest (256, 1E-10, "G3", "1E-10");  
+                        FormatStringTest (257, 1E-10, "G4", "1E-10");  
+                        FormatStringTest (258, 1E-10, "G5", "1E-10");  
+                        FormatStringTest (259, 1E-10, "G6", "1E-10");  
+                        FormatStringTest (260, 1E-10, "G7", "1E-10");  
+                        FormatStringTest (261, 1E-10, "G8", "1E-10");  
+                        FormatStringTest (262, 1E-10, "G9", "1E-10");  
+                        FormatStringTest (263, 1E-10, "G67", "1E-10");  
+                        FormatStringTest (264, 1E-10, "N", "0.00");  
+                        FormatStringTest (265, 1E-10, "N0", "0");  
+                        FormatStringTest (266, 1E-10, "N1", "0.0");  
+                        FormatStringTest (267, 1E-10, "N2", "0.00");  
+                        FormatStringTest (268, 1E-10, "N3", "0.000");  
+                        FormatStringTest (269, 1E-10, "N4", "0.0000");  
+                        FormatStringTest (270, 1E-10, "N5", "0.00000");  
+                        FormatStringTest (271, 1E-10, "N6", "0.000000");  
+                        FormatStringTest (272, 1E-10, "N7", "0.0000000");  
+                        FormatStringTest (273, 1E-10, "N8", "0.00000000");  
+                        FormatStringTest (274, 1E-10, "N9", "0.000000000");  
+                        FormatStringTest (275, 1E-10, "N67", "0.0000000001000000000000000000000000000000000000000000000000000000000");  
+                        FormatStringTest (276, 1E-10, "P", "0.00 %");  
+                        FormatStringTest (277, 1E-10, "P0", "0 %");  
+                        FormatStringTest (278, 1E-10, "P1", "0.0 %");  
+                        FormatStringTest (279, 1E-10, "P2", "0.00 %");  
+                        FormatStringTest (280, 1E-10, "P3", "0.000 %");  
+                        FormatStringTest (281, 1E-10, "P4", "0.0000 %");  
+                        FormatStringTest (282, 1E-10, "P5", "0.00000 %");  
+                        FormatStringTest (283, 1E-10, "P6", "0.000000 %");  
+                        FormatStringTest (284, 1E-10, "P7", "0.0000000 %");  
+                        FormatStringTest (285, 1E-10, "P8", "0.00000001 %");  
+                        FormatStringTest (286, 1E-10, "P9", "0.000000010 %");  
+                        FormatStringTest (287, 1E-10, "P67", "0.0000000100000000000000000000000000000000000000000000000000000000000 %");  
+               }
+       }
+}
+               
+