@@ -1580,25 +1580,25 @@ namespace cppstringstests
15801580 Assert::AreEqual (" abc" , s.ljust (1 ).c_str ());
15811581 Assert::AreEqual (" abc" , s.ljust (2 ).c_str ());
15821582 Assert::AreEqual (" abc" , s.ljust (3 ).c_str ());
1583- Assert::AreEqual (" abc " , s.ljust (4 ).c_str ());
1584- Assert::AreEqual (" abc " , s.ljust (5 ).c_str ());
1583+ Assert::AreEqual (" abc " , s.ljust (4 ).c_str ());
1584+ Assert::AreEqual (" abc " , s.ljust (5 ).c_str ());
15851585 Assert::AreEqual (" abc" , s.ljust (1 ).c_str ());
15861586 Assert::AreEqual (" abc" , s.ljust (2 ).c_str ());
15871587 Assert::AreEqual (" abc" , s.ljust (3 ).c_str ());
1588- Assert::AreEqual (" abc. " , s.ljust (4 , ' .' ).c_str ());
1589- Assert::AreEqual (" abc.. " , s.ljust (5 , ' .' ).c_str ());
1588+ Assert::AreEqual (" .abc " , s.ljust (4 , ' .' ).c_str ());
1589+ Assert::AreEqual (" ..abc " , s.ljust (5 , ' .' ).c_str ());
15901590
15911591 pcs::CppWString ws (L" abc" );
15921592 Assert::AreEqual (L" abc" , ws.ljust (1 ).c_str ());
15931593 Assert::AreEqual (L" abc" , ws.ljust (2 ).c_str ());
15941594 Assert::AreEqual (L" abc" , ws.ljust (3 ).c_str ());
1595- Assert::AreEqual (L" abc " , ws.ljust (4 ).c_str ());
1596- Assert::AreEqual (L" abc " , ws.ljust (5 ).c_str ());
1595+ Assert::AreEqual (L" abc " , ws.ljust (4 ).c_str ());
1596+ Assert::AreEqual (L" abc " , ws.ljust (5 ).c_str ());
15971597 Assert::AreEqual (L" abc" , ws.ljust (1 ).c_str ());
15981598 Assert::AreEqual (L" abc" , ws.ljust (2 ).c_str ());
15991599 Assert::AreEqual (L" abc" , ws.ljust (3 ).c_str ());
1600- Assert::AreEqual (L" abc. " , ws.ljust (4 , ' .' ).c_str ());
1601- Assert::AreEqual (L" abc.. " , ws.ljust (5 , ' .' ).c_str ());
1600+ Assert::AreEqual (L" .abc " , ws.ljust (4 , ' .' ).c_str ());
1601+ Assert::AreEqual (L" ..abc " , ws.ljust (5 , ' .' ).c_str ());
16021602 }
16031603
16041604 TEST_METHOD (lower)
@@ -2276,25 +2276,25 @@ namespace cppstringstests
22762276 Assert::AreEqual (" abc" , s.rjust (1 ).c_str ());
22772277 Assert::AreEqual (" abc" , s.rjust (2 ).c_str ());
22782278 Assert::AreEqual (" abc" , s.rjust (3 ).c_str ());
2279- Assert::AreEqual (" abc" , s.rjust (4 ).c_str ());
2280- Assert::AreEqual (" abc " , s.rjust (5 ).c_str ());
2279+ Assert::AreEqual (" abc " , s.rjust (4 ).c_str ());
2280+ Assert::AreEqual (" abc " , s.rjust (5 ).c_str ());
22812281 Assert::AreEqual (" abc" , s.rjust (1 ).c_str ());
22822282 Assert::AreEqual (" abc" , s.rjust (2 ).c_str ());
22832283 Assert::AreEqual (" abc" , s.rjust (3 ).c_str ());
2284- Assert::AreEqual (" . abc" , s.rjust (4 , ' .' ).c_str ());
2285- Assert::AreEqual (" ..abc " , s.rjust (5 , ' .' ).c_str ());
2284+ Assert::AreEqual (" abc. " , s.rjust (4 , ' .' ).c_str ());
2285+ Assert::AreEqual (" abc.. " , s.rjust (5 , ' .' ).c_str ());
22862286
22872287 pcs::CppWString ws (L" abc" );
22882288 Assert::AreEqual (L" abc" , ws.rjust (1 ).c_str ());
22892289 Assert::AreEqual (L" abc" , ws.rjust (2 ).c_str ());
22902290 Assert::AreEqual (L" abc" , ws.rjust (3 ).c_str ());
2291- Assert::AreEqual (L" abc" , ws.rjust (4 ).c_str ());
2292- Assert::AreEqual (L" abc " , ws.rjust (5 ).c_str ());
2291+ Assert::AreEqual (L" abc " , ws.rjust (4 ).c_str ());
2292+ Assert::AreEqual (L" abc " , ws.rjust (5 ).c_str ());
22932293 Assert::AreEqual (L" abc" , ws.rjust (1 ).c_str ());
22942294 Assert::AreEqual (L" abc" , ws.rjust (2 ).c_str ());
22952295 Assert::AreEqual (L" abc" , ws.rjust (3 ).c_str ());
2296- Assert::AreEqual (L" . abc" , ws.rjust (4 , ' .' ).c_str ());
2297- Assert::AreEqual (L" ..abc " , ws.rjust (5 , ' .' ).c_str ());
2296+ Assert::AreEqual (L" abc. " , ws.rjust (4 , ' .' ).c_str ());
2297+ Assert::AreEqual (L" abc.. " , ws.rjust (5 , ' .' ).c_str ());
22982298 }
22992299
23002300 TEST_METHOD (rpartition)
@@ -3977,5 +3977,87 @@ namespace cppstringstests
39773977
39783978 }
39793979
3980+ TEST_METHOD (zfill)
3981+ {
3982+ CppString s (" 1.23" );
3983+ Assert::AreEqual (" 1.23" , s.zfill (0 ).c_str ());
3984+ Assert::AreEqual (" 1.23" , s.zfill (1 ).c_str ());
3985+ Assert::AreEqual (" 1.23" , s.zfill (2 ).c_str ());
3986+ Assert::AreEqual (" 1.23" , s.zfill (3 ).c_str ());
3987+ Assert::AreEqual (" 1.23" , s.zfill (4 ).c_str ());
3988+ Assert::AreEqual (" 01.23" , s.zfill (5 ).c_str ());
3989+ Assert::AreEqual (" 001.23" , s.zfill (6 ).c_str ());
3990+
3991+ s = ' +' + s;
3992+ Assert::AreEqual (" +1.23" , s.zfill (0 ).c_str ());
3993+ Assert::AreEqual (" +1.23" , s.zfill (1 ).c_str ());
3994+ Assert::AreEqual (" +1.23" , s.zfill (2 ).c_str ());
3995+ Assert::AreEqual (" +1.23" , s.zfill (3 ).c_str ());
3996+ Assert::AreEqual (" +1.23" , s.zfill (4 ).c_str ());
3997+ Assert::AreEqual (" +1.23" , s.zfill (5 ).c_str ());
3998+ Assert::AreEqual (" +01.23" , s.zfill (6 ).c_str ());
3999+ Assert::AreEqual (" +001.23" , s.zfill (7 ).c_str ());
4000+
4001+ s[0 ] = ' -' ;
4002+ Assert::AreEqual (" -1.23" , s.zfill (0 ).c_str ());
4003+ Assert::AreEqual (" -1.23" , s.zfill (1 ).c_str ());
4004+ Assert::AreEqual (" -1.23" , s.zfill (2 ).c_str ());
4005+ Assert::AreEqual (" -1.23" , s.zfill (3 ).c_str ());
4006+ Assert::AreEqual (" -1.23" , s.zfill (4 ).c_str ());
4007+ Assert::AreEqual (" -1.23" , s.zfill (5 ).c_str ());
4008+ Assert::AreEqual (" -01.23" , s.zfill (6 ).c_str ());
4009+ Assert::AreEqual (" -001.23" , s.zfill (7 ).c_str ());
4010+
4011+ s[0 ] = ' *' ;
4012+ Assert::AreEqual (" *1.23" , s.zfill (0 ).c_str ());
4013+ Assert::AreEqual (" *1.23" , s.zfill (1 ).c_str ());
4014+ Assert::AreEqual (" *1.23" , s.zfill (2 ).c_str ());
4015+ Assert::AreEqual (" *1.23" , s.zfill (3 ).c_str ());
4016+ Assert::AreEqual (" *1.23" , s.zfill (4 ).c_str ());
4017+ Assert::AreEqual (" *1.23" , s.zfill (5 ).c_str ());
4018+ Assert::AreEqual (" 0*1.23" , s.zfill (6 ).c_str ());
4019+ Assert::AreEqual (" 00*1.23" , s.zfill (7 ).c_str ());
4020+
4021+
4022+ CppWString ws (L" 1.23" );
4023+ Assert::AreEqual (L" 1.23" , ws.zfill (0 ).c_str ());
4024+ Assert::AreEqual (L" 1.23" , ws.zfill (1 ).c_str ());
4025+ Assert::AreEqual (L" 1.23" , ws.zfill (2 ).c_str ());
4026+ Assert::AreEqual (L" 1.23" , ws.zfill (3 ).c_str ());
4027+ Assert::AreEqual (L" 1.23" , ws.zfill (4 ).c_str ());
4028+ Assert::AreEqual (L" 01.23" , ws.zfill (5 ).c_str ());
4029+ Assert::AreEqual (L" 001.23" , ws.zfill (6 ).c_str ());
4030+
4031+ ws = L' +' + ws;
4032+ Assert::AreEqual (L" +1.23" , ws.zfill (0 ).c_str ());
4033+ Assert::AreEqual (L" +1.23" , ws.zfill (1 ).c_str ());
4034+ Assert::AreEqual (L" +1.23" , ws.zfill (2 ).c_str ());
4035+ Assert::AreEqual (L" +1.23" , ws.zfill (3 ).c_str ());
4036+ Assert::AreEqual (L" +1.23" , ws.zfill (4 ).c_str ());
4037+ Assert::AreEqual (L" +1.23" , ws.zfill (5 ).c_str ());
4038+ Assert::AreEqual (L" +01.23" , ws.zfill (6 ).c_str ());
4039+ Assert::AreEqual (L" +001.23" , ws.zfill (7 ).c_str ());
4040+
4041+ ws[0 ] = L' -' ;
4042+ Assert::AreEqual (L" -1.23" , ws.zfill (0 ).c_str ());
4043+ Assert::AreEqual (L" -1.23" , ws.zfill (1 ).c_str ());
4044+ Assert::AreEqual (L" -1.23" , ws.zfill (2 ).c_str ());
4045+ Assert::AreEqual (L" -1.23" , ws.zfill (3 ).c_str ());
4046+ Assert::AreEqual (L" -1.23" , ws.zfill (4 ).c_str ());
4047+ Assert::AreEqual (L" -1.23" , ws.zfill (5 ).c_str ());
4048+ Assert::AreEqual (L" -01.23" , ws.zfill (6 ).c_str ());
4049+ Assert::AreEqual (L" -001.23" , ws.zfill (7 ).c_str ());
4050+
4051+ ws[0 ] = L' *' ;
4052+ Assert::AreEqual (L" *1.23" , ws.zfill (0 ).c_str ());
4053+ Assert::AreEqual (L" *1.23" , ws.zfill (1 ).c_str ());
4054+ Assert::AreEqual (L" *1.23" , ws.zfill (2 ).c_str ());
4055+ Assert::AreEqual (L" *1.23" , ws.zfill (3 ).c_str ());
4056+ Assert::AreEqual (L" *1.23" , ws.zfill (4 ).c_str ());
4057+ Assert::AreEqual (L" *1.23" , ws.zfill (5 ).c_str ());
4058+ Assert::AreEqual (L" 0*1.23" , ws.zfill (6 ).c_str ());
4059+ Assert::AreEqual (L" 00*1.23" , ws.zfill (7 ).c_str ());
4060+ }
4061+
39804062 };
39814063}
0 commit comments