Ignore:
Timestamp:
Jan 2, 2007, 8:27:45 PM (19 years ago)
Author:
RBRi
Message:

% updated commandlineparser test
% updated test framework

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NewView/unittests/StringUtilsUnitTests.pas

    r35 r41  
    240240    tmpResult : String;
    241241  BEGIN
    242     tmpResult := escapeAllCharsBy('', 'b', '\');
     242    tmpResult := StrEscapeAllCharsBy('', ['b'], '\');
    243243
    244244    assertEqualsString('testEscapeAllCharsBy_Empty', '', tmpResult);
     
    250250    tmpResult : String;
    251251  BEGIN
    252     tmpResult := escapeAllCharsBy('abcd', '', '\');
    253 
    254     assertEqualsString('testEscapeAllCharsBy_EmptyChars', '', tmpResult);
     252    tmpResult := StrEscapeAllCharsBy('abcd', [], '\');
     253
     254    assertEqualsString('testEscapeAllCharsBy_EmptyChars', 'abcd', tmpResult);
    255255  END;
    256256
     
    260260    tmpResult : String;
    261261  BEGIN
    262     tmpResult := escapeAllCharsBy('abc', 'b', '\');
     262    tmpResult := StrEscapeAllCharsBy('abc', ['b'], '\');
    263263
    264264    assertEqualsString('testEscapeAllCharsBy', 'a\bc', tmpResult);
     
    270270    tmpResult : String;
    271271  BEGIN
    272     tmpResult := escapeAllCharsBy('a\bc', 'b', '\');
    273 
    274     assertEqualsString('testEscapeAllCharsBy', 'a\\\bc', tmpResult);
     272    tmpResult := StrEscapeAllCharsBy('a\bc', ['b'], '\');
     273
     274    assertEqualsString('testEscapeAllCharsBy_EscapeEscape', 'a\\\bc', tmpResult);
     275  END;
     276
     277
     278  PROCEDURE testStrExtractStrings_EmptyReceiver;
     279  VAR
     280    tmpResult : TStringList;
     281  BEGIN
     282    tmpResult := TStringList.Create;
     283    StrExtractStrings(tmpResult, '', ['x'], '\');
     284
     285    assertEqualsInt('testStrExtractStrings_EmptyReceiver', 0, tmpResult.count);
     286    tmpResult.Destroy;
     287  END;
     288
     289
     290  PROCEDURE testStrExtractStrings_OnlyOnePart;
     291  VAR
     292    tmpResult : TStringList;
     293  BEGIN
     294    tmpResult := TStringList.Create;
     295    StrExtractStrings(tmpResult, 'abcd', ['x'], '\');
     296
     297    assertEqualsInt('testStrExtractStrings_OnlyOnePart', 1, tmpResult.count);
     298    assertEqualsString('testStrExtractStrings_OnlyOnePart', 'abcd', tmpResult[0]);
     299
     300    tmpResult.Destroy;
     301  END;
     302
     303
     304  PROCEDURE testStrExtractStrings_ManyParts;
     305  VAR
     306    tmpResult : TStringList;
     307  BEGIN
     308    tmpResult := TStringList.Create;
     309    StrExtractStrings(tmpResult, 'abxcd', ['x'], '\');
     310
     311    assertEqualsInt('testStrExtractStrings_ManyParts', 2, tmpResult.count);
     312    assertEqualsString('testStrExtractStrings_ManyParts', 'ab', tmpResult[0]);
     313    assertEqualsString('testStrExtractStrings_ManyParts', 'cd', tmpResult[1]);
     314
     315    tmpResult.Destroy;
     316  END;
     317
     318
     319  PROCEDURE testStrExtractStrings_StartWithDelimiter;
     320  VAR
     321    tmpResult : TStringList;
     322  BEGIN
     323    tmpResult := TStringList.Create;
     324    StrExtractStrings(tmpResult, 'xab', ['x'], '\');
     325
     326    assertEqualsInt('testStrExtractStrings_StartWithDelimiter', 2, tmpResult.count);
     327    assertEqualsString('testStrExtractStrings_StartWithDelimiter', '', tmpResult[0]);
     328    assertEqualsString('testStrExtractStrings_StartWithDelimiter', 'ab', tmpResult[1]);
     329
     330    tmpResult.Destroy;
     331  END;
     332
     333
     334  PROCEDURE testStrExtractStrings_EndWithDelimiter;
     335  VAR
     336    tmpResult : TStringList;
     337  BEGIN
     338    tmpResult := TStringList.Create;
     339    StrExtractStrings(tmpResult, 'abx', ['x'], '\');
     340
     341    assertEqualsInt('testStrExtractStrings_EndWithDelimiter', 2, tmpResult.count);
     342    assertEqualsString('testStrExtractStrings_EndWithDelimiter', 'ab', tmpResult[0]);
     343    assertEqualsString('testStrExtractStrings_EndWithDelimiter', '', tmpResult[1]);
     344
     345    tmpResult.Destroy;
     346  END;
     347
     348
     349  PROCEDURE testStrExtractStrings_EmptyPartInside;
     350  VAR
     351    tmpResult : TStringList;
     352  BEGIN
     353    tmpResult := TStringList.Create;
     354    StrExtractStrings(tmpResult, 'axxb', ['x'], '\');
     355
     356    assertEqualsInt('testStrExtractStrings_EmptyPartInside', 3, tmpResult.count);
     357    assertEqualsString('testStrExtractStrings_EmptyPartInside', 'a', tmpResult[0]);
     358    assertEqualsString('testStrExtractStrings_EmptyPartInside', '', tmpResult[1]);
     359    assertEqualsString('testStrExtractStrings_EmptyPartInside', 'b', tmpResult[2]);
     360
     361    tmpResult.Destroy;
     362  END;
     363
     364
     365  PROCEDURE testStrExtractStrings_NoDelimiter;
     366  VAR
     367    tmpResult : TStringList;
     368  BEGIN
     369    tmpResult := TStringList.Create;
     370    StrExtractStrings(tmpResult, 'axxb', [], '\');
     371
     372    assertEqualsInt('testStrExtractStrings_NoDelimiter', 1, tmpResult.count);
     373    assertEqualsString('testStrExtractStrings_NoDelimiter', 'axxb', tmpResult[0]);
     374
     375    tmpResult.Destroy;
     376  END;
     377
     378
     379  PROCEDURE testStrExtractStrings_EscapedDelimiter;
     380  VAR
     381    tmpResult : TStringList;
     382  BEGIN
     383    tmpResult := TStringList.Create;
     384    StrExtractStrings(tmpResult, 'a\xb', ['x'], '\');
     385
     386    assertEqualsInt('testStrExtractStrings_EscapedDelimiter', 1, tmpResult.count);
     387    assertEqualsString('testStrExtractStrings_EscapedDelimiter', 'axb', tmpResult[0]);
     388
     389    tmpResult.Destroy;
     390  END;
     391
     392  PROCEDURE testStrExtractStrings_EscapedEscapeChar;
     393  VAR
     394    tmpResult : TStringList;
     395  BEGIN
     396    tmpResult := TStringList.Create;
     397    StrExtractStrings(tmpResult, 'a\\xb', ['x'], '\');
     398
     399    assertEqualsInt('testStrExtractStrings_EscapedEscapeChar', 2, tmpResult.count);
     400    assertEqualsString('testStrExtractStrings_EscapedEscapeChar', 'a\', tmpResult[0]);
     401    assertEqualsString('testStrExtractStrings_EscapedEscapeChar', 'b', tmpResult[1]);
     402
     403    tmpResult.Destroy;
     404  END;
     405
     406
     407  PROCEDURE testTrimChars_Empty;
     408  VAR
     409    tmpResult : String;
     410  BEGIN
     411    tmpResult := StrTrimChars('', ['b', 'x']);
     412
     413    assertEqualsString('testTrimChars_Empty', '', tmpResult);
     414  END;
     415
     416
     417  PROCEDURE testTrimChars_RemoveAll;
     418  VAR
     419    tmpResult : String;
     420  BEGIN
     421    tmpResult := StrTrimChars('bxxxbx', ['b', 'x']);
     422
     423    assertEqualsString('testTrimChars_RemoveAll', '', tmpResult);
     424  END;
     425
     426
     427  PROCEDURE testTrimChars_LeftOnly;
     428  VAR
     429    tmpResult : String;
     430  BEGIN
     431    tmpResult := StrTrimChars('bxbxxay', ['b', 'x']);
     432
     433    assertEqualsString('testTrimChars_LeftOnly', 'ay', tmpResult);
     434  END;
     435
     436
     437  PROCEDURE testTrimChars_RightOnly;
     438  VAR
     439    tmpResult : String;
     440  BEGIN
     441    tmpResult := StrTrimChars('aybxbxx', ['b', 'x']);
     442
     443    assertEqualsString('testTrimChars_LeftOnly', 'ay', tmpResult);
     444  END;
     445
     446
     447  PROCEDURE testTrimChars_CharsInside;
     448  VAR
     449    tmpResult : String;
     450  BEGIN
     451    tmpResult := StrTrimChars('bxabxvvx', ['b', 'x']);
     452
     453    assertEqualsString('testTrimChars_CharsInside', 'abxvv', tmpResult);
     454  END;
     455
     456
     457  PROCEDURE testTrimChars_Nothing;
     458  VAR
     459    tmpResult : String;
     460  BEGIN
     461    tmpResult := StrTrimChars('acdef', ['b', 'x']);
     462
     463    assertEqualsString('testTrimChars_Nothing', 'acdef', tmpResult);
     464  END;
     465
     466
     467  PROCEDURE testTrim;
     468  VAR
     469    tmpResult : String;
     470  BEGIN
     471    tmpResult := StrTrim('  a bc ');
     472
     473    assertEqualsString('testTrim', 'a bc', tmpResult);
     474  END;
     475
     476
     477  PROCEDURE testStrEndsWith_BothEmpty;
     478  VAR
     479    tmpResult : Boolean;
     480  BEGIN
     481    tmpResult := StrEndsWith('', '');
     482
     483    assertTrue('testStrEndsWith_BothEmpty', tmpResult);
     484  END;
     485
     486
     487  PROCEDURE testStrEndsWith_StringEmpty;
     488  VAR
     489    tmpResult : Boolean;
     490  BEGIN
     491    tmpResult := StrEndsWith('', 'end');
     492
     493    assertFalse('testStrEndsWith_StringEmpty', tmpResult);
     494  END;
     495
     496
     497  PROCEDURE testStrEndsWith_MatchEmpty;
     498  VAR
     499    tmpResult : Boolean;
     500  BEGIN
     501    tmpResult := StrEndsWith('test', '');
     502
     503    assertTrue('testStrEndsWith_MatchEmpty', tmpResult);
     504  END;
     505
     506
     507  PROCEDURE testStrEndsWith_StringToShort;
     508  VAR
     509    tmpResult : Boolean;
     510  BEGIN
     511    tmpResult := StrEndsWith('test', 'test1');
     512
     513    assertFalse('testStrEndsWith_StringToShort', tmpResult);
     514  END;
     515
     516
     517  PROCEDURE testStrEndsWith_StringEqualLength;
     518  VAR
     519    tmpResult : Boolean;
     520  BEGIN
     521    tmpResult := StrEndsWith('test', 'best');
     522
     523    assertFalse('testStrEndsWith_StringEqualLength', tmpResult);
     524  END;
     525
     526
     527  PROCEDURE testStrEndsWith_StringEqualLengthMatch;
     528  VAR
     529    tmpResult : Boolean;
     530  BEGIN
     531    tmpResult := StrEndsWith('test', 'test');
     532
     533    assertTrue('testStrEndsWith_StringEqualLengthMatch', tmpResult);
     534  END;
     535
     536
     537  PROCEDURE testStrEndsWith_StringMatch;
     538  VAR
     539    tmpResult : Boolean;
     540  BEGIN
     541    tmpResult := StrEndsWith('a simple test', 'test');
     542
     543    assertTrue('testStrEndsWith_StringMatch', tmpResult);
     544  END;
     545
     546
     547  PROCEDURE testStrEndsWith_StringMatchCaseSensitive;
     548  VAR
     549    tmpResult : Boolean;
     550  BEGIN
     551    tmpResult := StrEndsWith('a simple tEst', 'test');
     552
     553    assertFalse('testStrEndsWith_StringMatchCaseSensitive', tmpResult);
     554  END;
     555
     556
     557  PROCEDURE testStrEndsWithIgnoringCase_BothEmpty;
     558  VAR
     559    tmpResult : Boolean;
     560  BEGIN
     561    tmpResult := StrEndsWithIgnoringCase('', '');
     562
     563    assertTrue('testStrEndsWithIgnoringCase_BothEmpty', tmpResult);
     564  END;
     565
     566
     567  PROCEDURE testStrEndsWithIgnoringCase_StringEmpty;
     568  VAR
     569    tmpResult : Boolean;
     570  BEGIN
     571    tmpResult := StrEndsWithIgnoringCase('', 'end');
     572
     573    assertFalse('testStrEndsWithIgnoringCase_StringEmpty', tmpResult);
     574  END;
     575
     576
     577  PROCEDURE testStrEndsWithIgnoringCase_MatchEmpty;
     578  VAR
     579    tmpResult : Boolean;
     580  BEGIN
     581    tmpResult := StrEndsWithIgnoringCase('test', '');
     582
     583    assertTrue('testStrEndsWithIgnoringCase_MatchEmpty', tmpResult);
     584  END;
     585
     586
     587  PROCEDURE testStrEndsWithIgnoringCase_StringToShort;
     588  VAR
     589    tmpResult : Boolean;
     590  BEGIN
     591    tmpResult := StrEndsWithIgnoringCase('test', 'test1');
     592
     593    assertFalse('testStrEndsWithIgnoringCase_StringToShort', tmpResult);
     594  END;
     595
     596
     597  PROCEDURE testStrEndsWithIgnoringCase_StringEqualLength;
     598  VAR
     599    tmpResult : Boolean;
     600  BEGIN
     601    tmpResult := StrEndsWithIgnoringCase('test', 'best');
     602
     603    assertFalse('testStrEndsWithIgnoringCase_StringEqualLength', tmpResult);
     604  END;
     605
     606
     607  PROCEDURE testStrEndsWithIgnoringCase_StringEqualLengthMatch;
     608  VAR
     609    tmpResult : Boolean;
     610  BEGIN
     611    tmpResult := StrEndsWithIgnoringCase('test', 'test');
     612
     613    assertTrue('testStrEndsWithIgnoringCase_StringEqualLengthMatch', tmpResult);
     614  END;
     615
     616
     617  PROCEDURE testStrEndsWithIgnoringCase_StringMatch;
     618  VAR
     619    tmpResult : Boolean;
     620  BEGIN
     621    tmpResult := StrEndsWithIgnoringCase('a simple test', 'test');
     622
     623    assertTrue('testStrEndsWithIgnoringCase_StringMatch', tmpResult);
     624  END;
     625
     626
     627  PROCEDURE testStrEndsWithIgnoringCase_StringMatchCaseInSensitive;
     628  VAR
     629    tmpResult : Boolean;
     630  BEGIN
     631    tmpResult := StrEndsWithIgnoringCase('a simple tEst', 'test');
     632
     633    assertTrue('testStrEndsWithIgnoringCase_StringMatchCaseSensitive', tmpResult);
    275634  END;
    276635
     
    302661    result.add(@testEscapeAllCharsBy_EmptyChars);
    303662    result.add(@testEscapeAllCharsBy_EscapeEscape);
     663
     664    result.add(@testStrExtractStrings_EmptyReceiver);
     665    result.add(@testStrExtractStrings_OnlyOnePart);
     666    result.add(@testStrExtractStrings_ManyParts);
     667    result.add(@testStrExtractStrings_StartWithDelimiter);
     668    result.add(@testStrExtractStrings_EndWithDelimiter);
     669    result.add(@testStrExtractStrings_EmptyPartInside);
     670    result.add(@testStrExtractStrings_NoDelimiter);
     671    result.add(@testStrExtractStrings_EscapedDelimiter);
     672    result.add(@testStrExtractStrings_EscapedEscapeChar);
     673
     674    result.add(@testTrimChars_Empty);
     675    result.add(@testTrimChars_RemoveAll);
     676    result.add(@testTrimChars_LeftOnly);
     677    result.add(@testTrimChars_RightOnly);
     678    result.add(@testTrimChars_CharsInside);
     679    result.add(@testTrimChars_Nothing);
     680    result.add(@testTrim);
     681
     682    result.add(@testStrEndsWith_BothEmpty);
     683    result.add(@testStrEndsWith_StringEmpty);
     684    result.add(@testStrEndsWith_MatchEmpty);
     685    result.add(@testStrEndsWith_StringToShort);
     686    result.add(@testStrEndsWith_StringEqualLength);
     687    result.add(@testStrEndsWith_StringEqualLengthMatch);
     688    result.add(@testStrEndsWith_StringMatch);
     689    result.add(@testStrEndsWith_StringMatchCaseSensitive);
     690
     691    result.add(@testStrEndsWithIgnoringCase_BothEmpty);
     692    result.add(@testStrEndsWithIgnoringCase_StringEmpty);
     693    result.add(@testStrEndsWithIgnoringCase_MatchEmpty);
     694    result.add(@testStrEndsWithIgnoringCase_StringToShort);
     695    result.add(@testStrEndsWithIgnoringCase_StringEqualLength);
     696    result.add(@testStrEndsWithIgnoringCase_StringEqualLengthMatch);
     697    result.add(@testStrEndsWithIgnoringCase_StringMatch);
     698    result.add(@testStrEndsWithIgnoringCase_StringMatchCaseInSensitive);
     699
    304700  END;
    305701
Note: See TracChangeset for help on using the changeset viewer.