RegressionTests__NumberTest.st
changeset 1628 27b3c920623a
parent 1622 ced5fda31c2e
child 1710 9ad2831a971b
--- a/RegressionTests__NumberTest.st	Mon Jul 03 14:57:29 2017 +0200
+++ b/RegressionTests__NumberTest.st	Mon Jul 03 15:40:24 2017 +0200
@@ -127,6 +127,85 @@
     "Created: / 24-10-2006 / 15:31:20 / cg"
 ! !
 
+!NumberTest methodsFor:'tests-printing'!
+
+testPrintf
+    "/ Float
+    
+    self assert:( (PrintfScanf printf:'%4f' argument:ShortFloat pi) = '3.14159' ).
+    self assert:( (PrintfScanf printf:'%4f' argument:Float pi)      = '3.141593' ).
+    self assert:( (PrintfScanf printf:'%4f' argument:LongFloat pi)  = '3.14159265' ).
+    self assert:( (PrintfScanf printf:'%4f' argument:QDouble pi)    = '3.14159265358979323846' ).
+    self assert:( (PrintfScanf printf:'%4f' argument:Fraction pi)   = '3.141593' ).
+    self assert:( (PrintfScanf printf:'%4f' argument:FixedPoint pi) = '3.141593' ).
+
+    "/ too small
+    self assert:( (Float pi printfPrintString:'%4f') = '3.141593' ).
+    self assert:( (Float pi printfPrintString:'%5f') = '3.141593' ).
+    self assert:( (Float pi printfPrintString:'%6f') = '3.141593' ).
+    self assert:( (Float pi printfPrintString:'%7f') = '3.141593' ).
+    "/ fit
+    self assert:( (Float pi printfPrintString:'%8f') = '3.141593' ).
+    self assert:( (Float pi printfPrintString:'%4.2f') = '3.14' ).
+    "/ left filled
+    self assert:( (Float pi printfPrintString:'%9f') = ' 3.141593' ).
+    "/ right filled
+    self assert:( (Float pi printfPrintString:'%-9f') = '3.141593 ' ).
+
+    "/ ShortFloat
+
+    "/ too small
+    self assert:( (ShortFloat pi printfPrintString:'%4f') = '3.141593' ).
+    self assert:( (ShortFloat pi printfPrintString:'%5f') = '3.141593' ).
+    self assert:( (ShortFloat pi printfPrintString:'%6f') = '3.141593' ).
+    self assert:( (ShortFloat pi printfPrintString:'%7f') = '3.141593' ).
+    "/ fit
+    self assert:( (ShortFloat pi printfPrintString:'%8f') = '3.141593' ).
+    self assert:( (ShortFloat pi printfPrintString:'%4.2f') = '3.14' ).
+
+    "/ left filled
+    self assert:( (ShortFloat pi printfPrintString:'%9f') = ' 3.141593' ).
+    "/ right filled
+    self assert:( (ShortFloat pi printfPrintString:'%-9f') = '3.141593 ' ).
+
+    "/ LongFloat
+
+    "/ too small
+    self assert:( (LongFloat pi printfPrintString:'%4Lf') = '3.141593' ).
+    self assert:( (LongFloat pi printfPrintString:'%5Lf') = '3.141593' ).
+    self assert:( (LongFloat pi printfPrintString:'%6Lf') = '3.141593' ).
+    self assert:( (LongFloat pi printfPrintString:'%7Lf') = '3.141593' ).
+    "/ fit
+    self assert:( (LongFloat pi printfPrintString:'%8Lf') = '3.141593' ).
+    self assert:( (LongFloat pi printfPrintString:'%4.2Lf') = '3.14' ).
+    "/ left filled
+    self assert:( (LongFloat pi printfPrintString:'%9Lf') = ' 3.141593' ).
+    "/ right filled
+    self assert:( (LongFloat pi printfPrintString:'%-9Lf') = '3.141593 ' ).
+
+    "/ QuadDouble
+
+    "/ too small
+    self assert:( (QDouble pi printfPrintString:'%4Lf') = '3.14159265358979323846' ).
+    self assert:( (QDouble pi printfPrintString:'%5Lf') = '3.14159265358979323846' ).
+    self assert:( (QDouble pi printfPrintString:'%6Lf') = '3.14159265358979323846' ).
+    self assert:( (QDouble pi printfPrintString:'%7Lf') = '3.14159265358979323846' ).
+    self assert:( (QDouble pi printfPrintString:'%18Lf') = '3.14159265358979323846' ).
+    self assert:( (QDouble pi printfPrintString:'%19Lf') = '3.14159265358979323846' ).
+    self assert:( (QDouble pi printfPrintString:'%20Lf') = '3.14159265358979323846' ).
+    self assert:( (QDouble pi printfPrintString:'%21Lf') = '3.14159265358979323846' ).
+    "/ fit
+    self assert:( (QDouble pi printfPrintString:'%22Lf') = '3.14159265358979323846' ).
+    self assert:( (QDouble pi printfPrintString:'%4.2Lf') = '3.14' ).
+    "/ left filled
+    self assert:( (QDouble pi printfPrintString:'%23Lf') = ' 3.14159265358979323846' ).
+    self assert:( (QDouble pi printfPrintString:'%30Lf') = '        3.14159265358979323846' ).
+    "/ right filled
+    self assert:( (QDouble pi printfPrintString:'%-30Lf') = '3.14159265358979323846        ' ).
+
+    "Created: / 03-07-2017 / 15:01:50 / cg"
+! !
+
 !NumberTest methodsFor:'tests-reading'!
 
 testReadFrom