unit uutlVariantSetTest; {$mode objfpc}{$H+} interface uses Classes, SysUtils, TestFramework, uutlVariantSet; type //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// TutlVariantSetTest = class(TTestCase) published procedure VariantToString; end; implementation uses uutlGenerics; type //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// TTestEnum = ( teTest2 = 2, teTest3 = 3, teTest5 = 5, teTest9 = 9 ); TTestSet = set of TTestEnum; TTestSetH = specialize TutlSetHelper; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //TutlVariantSetTest//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// procedure TutlVariantSetTest.VariantToString; begin AssertEquals('teTest2, teTest3, teTest5, teTest9', String(VarMakeSet(TTestSet([teTest2, teTest3, teTest5, teTest9]), SizeOf(TTestSet), TTestSetH))); AssertEquals('teTest2, teTest5', String(VarMakeSet(TTestSet([teTest2, teTest5]), SizeOf(TTestSet), TTestSetH))); AssertEquals('teTest3', String(VarMakeSet(TTestSet([teTest3]), SizeOf(TTestSet), TTestSetH))); end; initialization RegisterTest(TutlVariantSetTest.Suite); end.