|
- unit uutlSetHelperTests;
-
- {$mode objfpc}{$H+}
-
- interface
-
- uses
- Classes, SysUtils, TestFramework;
-
- type
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- TutlSetHelperTests = class(TTestCase)
- published
- procedure proc_ToString;
- procedure proc_TryToSet;
- procedure proc_Compare;
- end;
-
- implementation
-
- uses
- uutlGenerics;
-
- type
- TSetHelperTestEnum = (
- teTest0 = 0,
- teTest1 = 1,
- teTest2 = 2,
- teTest3 = 3,
- teTest4 = 4,
- teTest5 = 5,
- teTest8 = 8,
- teTest9 = 9
- );
- TSetHelperTestSet = set of TSetHelperTestEnum;
- TSetHelperTestSetH = specialize TutlSetHelper<TSetHelperTestEnum, TSetHelperTestSet>;
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //TutlSetHelperTests////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- procedure TutlSetHelperTests.proc_ToString;
- var
- str: String;
- begin
- str := TSetHelperTestSetH.ToString([teTest0, teTest1, teTest2, teTest3, teTest4, teTest8]);
- AssertEquals('teTest0, teTest1, teTest2, teTest3, teTest4, teTest8', str);
-
- str := TSetHelperTestSetH.ToString([teTest0, teTest1, teTest2, teTest3, teTest4, teTest8], '_');
- AssertEquals('teTest0_teTest1_teTest2_teTest3_teTest4_teTest8', str);
- end;
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- procedure TutlSetHelperTests.proc_TryToSet;
- var
- s: TSetHelperTestSet;
- begin
- AssertTrue(TSetHelperTestSetH.TryToSet('teTest0, teTest1, teTest2, teTest3, teTest8, teTest9', s));
- AssertTrue([teTest0, teTest1, teTest2, teTest3, teTest8, teTest9] = s);
-
- AssertTrue(TSetHelperTestSetH.TryToSet('teTest0_asd_teTest1_asd_teTest2_asd_teTest3_asd_teTest8_asd_teTest9', '_asd_', s));
- AssertTrue([teTest0, teTest1, teTest2, teTest3, teTest8, teTest9] = s);
- end;
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- procedure TutlSetHelperTests.proc_Compare;
- begin
- AssertEquals( 0, TSetHelperTestSetH.Compare([teTest0, teTest1, teTest2], [teTest0, teTest1, teTest2]));
- AssertEquals(-1, TSetHelperTestSetH.Compare([ teTest1, teTest2], [teTest0, teTest1, teTest2]));
- AssertEquals( 1, TSetHelperTestSetH.Compare([teTest0, teTest1, teTest2], [teTest0, teTest2]));
- end;
-
- initialization
- RegisterTest(TutlSetHelperTests.Suite);
-
- end.
|