Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

49 Zeilen
1.7 KiB

  1. unit uutlVariantSetTest;
  2. {$mode objfpc}{$H+}
  3. interface
  4. uses
  5. Classes, SysUtils, TestFramework,
  6. uutlVariantSet;
  7. type
  8. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  9. TutlVariantSetTest = class(TTestCase)
  10. published
  11. procedure VariantToString;
  12. end;
  13. implementation
  14. uses
  15. uutlGenerics;
  16. type
  17. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  18. TTestEnum = (
  19. teTest2 = 2,
  20. teTest3 = 3,
  21. teTest5 = 5,
  22. teTest9 = 9
  23. );
  24. TTestSet = set of TTestEnum;
  25. TTestSetH = specialize TutlSetHelper<TTestEnum, TTestSet>;
  26. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  27. //TutlVariantSetTest////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  28. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  29. procedure TutlVariantSetTest.VariantToString;
  30. begin
  31. AssertEquals('teTest2, teTest3, teTest5, teTest9', String(VarMakeSet(TTestSet([teTest2, teTest3, teTest5, teTest9]), SizeOf(TTestSet), TTestSetH)));
  32. AssertEquals('teTest2, teTest5', String(VarMakeSet(TTestSet([teTest2, teTest5]), SizeOf(TTestSet), TTestSetH)));
  33. AssertEquals('teTest3', String(VarMakeSet(TTestSet([teTest3]), SizeOf(TTestSet), TTestSetH)));
  34. end;
  35. initialization
  36. RegisterTest(TutlVariantSetTest.Suite);
  37. end.