1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverunit Antlr.Runtime.Tools.Tests; 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Delphi DUnit Test Case 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ---------------------- 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver This unit contains a skeleton test case class generated by the Test Case Wizard. 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Modify the generated code to correctly setup and call the methods from the unit 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver being tested. 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverinterface 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruveruses 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SysUtils, 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver TestFramework, 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Generics.Defaults, 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Generics.Collections, 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Antlr.Runtime.Tools; 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertype 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // Test methods for class IANTLRString 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver TestIANTLRString = class(TTestCase) 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver strict private 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIANTLRString: IANTLRString; 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure SetUp; override; 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TearDown; override; 29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver published 30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestGetValue; 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestSetValue; 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end; 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // Test methods for class TANTLRString 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver TestTANTLRString = class(TTestCase) 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver strict private 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FANTLRString: TANTLRString; 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure SetUp; override; 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TearDown; override; 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver published 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestToString; 43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end; 44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // Test methods for class ICloneable 46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver TestICloneable = class(TTestCase) 47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver strict private 48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FICloneable: ICloneable; 49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public 50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure SetUp; override; 51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TearDown; override; 52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver published 53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestClone; 54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end; 55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // Test methods for class IList 57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver TestIList = class(TTestCase) 58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver strict private 59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList: IList<Integer>; 60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public 61324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure SetUp; override; 62324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TearDown; override; 63324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver published 64324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestGetCapacity; 65324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestSetCapacity; 66324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestGetCount; 67324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestSetCount; 68324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestGetItem; 69324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestSetItem; 70324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestAdd; 71324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestAddRange; 72324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestInsert; 73324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestRemove; 74324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestDelete; 75324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestDeleteRange; 76324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestClear; 77324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestContains; 78324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestIndexOf; 79324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end; 80324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 81324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // Test methods for class IDictionary 82324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver TestIDictionary = class(TTestCase) 83324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver strict private 84324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIDictionary: IDictionary<String, Integer>; 85324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public 86324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure SetUp; override; 87324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TearDown; override; 88324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver published 89324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestGetItem; 90324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestSetItem; 91324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestGetCount; 92324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestAdd; 93324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestRemove; 94324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestTryGetValue; 95324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestContainsKey; 96324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestContainsValue; 97324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestEnumeration; 98324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end; 99324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // Test methods for record TLocalStorage 101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver TestTLocalStorage = class(TTestCase) 102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver published 103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestLocalIntegerStorage; 104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure TestLocalInterfaceStorage; 105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end; 106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverimplementation 108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertype 110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver IFoo = interface(IANTLRInterface) 111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ['{48E3FC72-4E63-46D8-8450-A561ECF76995}'] 112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver function GetValue: String; 113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure SetValue(const V: String); 114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver property Value: String read GetValue write SetValue; 115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end; 116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver TFoo = class(TANTLRObject, ICloneable, IFoo) 118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FValue: String; 119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver function GetValue: String; 120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver procedure SetValue(const V: String); 121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver function Clone: IANTLRInterface; 122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end; 123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverfunction TFoo.GetValue: String; 125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Result := FValue; 127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TFoo.SetValue(const V: String); 130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FValue := V; 132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverfunction TFoo.Clone: IANTLRInterface; 135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Foo: IFoo; 137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Foo := TFoo.Create; 139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Foo.Value := FValue; 140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Result := Foo; 141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIANTLRString.SetUp; 144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIANTLRString := TANTLRString.Create('foo'); 146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIANTLRString.TearDown; 149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIANTLRString := nil; 151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIANTLRString.TestGetValue; 154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: string; 156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIANTLRString.GetValue; 158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(ReturnValue,'foo'); 159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIANTLRString.TestSetValue; 162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value: string; 164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := 'bar'; 166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIANTLRString.SetValue(Value); 167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIANTLRString.Value,'bar'); 168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestTANTLRString.SetUp; 171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FANTLRString := TANTLRString.Create('foo'); 173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestTANTLRString.TearDown; 176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FANTLRString.Free; 178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FANTLRString := nil; 179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestTANTLRString.TestToString; 182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: string; 184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FANTLRString.ToString; 186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(ReturnValue,'foo'); 187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestICloneable.SetUp; 190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Foo: IFoo; 192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Foo := TFoo.Create; 194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Foo.Value := 'original'; 195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FICloneable := Foo as ICloneable; 196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestICloneable.TearDown; 199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FICloneable := nil; 201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestICloneable.TestClone; 204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: IANTLRInterface; 206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FICloneable.Clone; 208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Check(Supports(ReturnValue, IFoo)); 209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals((ReturnValue as IFoo).Value,(FICloneable as IFoo).Value); 210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 211324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 212324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.SetUp; 213324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 214324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList := TList<Integer>.Create; 215324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 216324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 217324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TearDown; 218324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 219324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList := nil; 220324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 221324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 222324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestGetCapacity; 223324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 224324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: Integer; 225324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 226324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Capacity := 100; 227324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIList.GetCapacity; 228324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(ReturnValue,100); 229324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 230324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 231324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestSetCapacity; 232324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 233324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value: Integer; 234324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 235324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := 100; 236324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.SetCapacity(Value); 237324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIList.Capacity,100); 238324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 239324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 240324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestGetCount; 241324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 242324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: Integer; 243324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 244324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Clear; 245324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(123); 246324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIList.GetCount; 247324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(ReturnValue,1); 248324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 249324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 250324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestSetCount; 251324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 252324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value: Integer; 253324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 254324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := 4; 255324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.SetCount(Value); 256324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIList.Count,4); 257324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 258324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 259324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestGetItem; 260324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 261324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: Integer; 262324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Index: Integer; 263324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 264324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Clear; 265324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(100); 266324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(200); 267324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(300); 268324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(400); 269324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Index := 2; 270324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIList.GetItem(Index); 271324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(ReturnValue,300); 272324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 273324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 274324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestSetItem; 275324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 276324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value: Integer; 277324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Index: Integer; 278324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 279324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Clear; 280324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(100); 281324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(200); 282324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(300); 283324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(400); 284324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Index := 3; 285324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := 333; 286324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.SetItem(Index, Value); 287324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIList.Items[3],333); 288324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 289324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 290324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestAdd; 291324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 292324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: Integer; 293324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value: Integer; 294324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 295324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Clear; 296324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := 3; 297324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIList.Add(Value); 298324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(ReturnValue,0); 299324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 300324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 301324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestAddRange; 302324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 303324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Values: array [0..3] of Integer; 304324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 305324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Clear; 306324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Values[0] := 111; 307324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Values[1] := 222; 308324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Values[2] := 333; 309324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Values[3] := 444; 310324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.AddRange(Values); 311324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIList[0],111); 312324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIList[1],222); 313324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIList[2],333); 314324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIList[3],444); 315324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 316324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 317324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestInsert; 318324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 319324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value: Integer; 320324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Index: Integer; 321324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 322324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Clear; 323324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(100); 324324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(200); 325324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(300); 326324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(400); 327324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Index := 2; 328324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := 250; 329324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Insert(Index, Value); 330324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIList[1],200); 331324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIList[2],250); 332324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIList[3],300); 333324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 334324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 335324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestRemove; 336324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 337324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: Integer; 338324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value: Integer; 339324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 340324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Clear; 341324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(100); 342324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(200); 343324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(300); 344324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(400); 345324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := 300; 346324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIList.Remove(Value); 347324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(ReturnValue,2); 348324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 349324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 350324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestDelete; 351324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 352324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Index: Integer; 353324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 354324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Clear; 355324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(100); 356324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(200); 357324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(300); 358324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(400); 359324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Index := 2; 360324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Delete(Index); 361324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIList[2],400); 362324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 363324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 364324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestDeleteRange; 365324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 366324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ACount: Integer; 367324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver AIndex: Integer; 368324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 369324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Clear; 370324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(100); 371324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(200); 372324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(300); 373324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(400); 374324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver AIndex := 1; 375324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ACount := 2; 376324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.DeleteRange(AIndex, ACount); 377324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIlist[0],100); 378324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIlist[1],400); 379324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 380324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 381324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestClear; 382324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 383324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Clear; 384324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(100); 385324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(200); 386324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(300); 387324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(400); 388324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Clear; 389324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIList.Count,0); 390324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 391324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 392324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestContains; 393324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 394324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: Boolean; 395324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value: Integer; 396324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 397324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Clear; 398324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(100); 399324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(200); 400324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(300); 401324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(400); 402324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := 200; 403324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIList.Contains(Value); 404324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckTrue(ReturnValue); 405324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := 250; 406324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIList.Contains(Value); 407324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckFalse(ReturnValue); 408324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 409324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 410324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIList.TestIndexOf; 411324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 412324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: Integer; 413324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value: Integer; 414324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 415324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Clear; 416324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(100); 417324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(200); 418324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(300); 419324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIList.Add(400); 420324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := 300; 421324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIList.IndexOf(Value); 422324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(ReturnValue,2); 423324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := 301; 424324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIList.IndexOf(Value); 425324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(ReturnValue,-1); 426324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 427324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 428324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIDictionary.SetUp; 429324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 430324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIDictionary := TDictionary<String, Integer>.Create; 431324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIDictionary.Add('Foo',1); 432324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIDictionary.Add('Bar',3); 433324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIDictionary.Add('Baz',7); 434324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIDictionary.Add('Zip',7); 435324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 436324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 437324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIDictionary.TearDown; 438324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 439324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIDictionary := nil; 440324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 441324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 442324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIDictionary.TestGetItem; 443324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 444324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: Integer; 445324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Key: String; 446324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 447324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Key := 'Baz'; 448324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIDictionary.GetItem(Key); 449324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(ReturnValue,7); 450324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 451324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 452324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIDictionary.TestSetItem; 453324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 454324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value: Integer; 455324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Key: String; 456324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 457324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Key := 'Bar'; 458324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := 20; 459324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIDictionary.SetItem(Key, Value); 460324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIDictionary['Bar'],20); 461324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 462324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 463324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIDictionary.TestGetCount; 464324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 465324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: Integer; 466324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 467324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIDictionary.GetCount; 468324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(ReturnValue,4); 469324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 470324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 471324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIDictionary.TestAdd; 472324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 473324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value: Integer; 474324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Key: String; 475324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 476324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Key := 'Key'; 477324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := -1; 478324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIDictionary.Add(Key, Value); 479324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIDictionary['Key'],-1); 480324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 481324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 482324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIDictionary.TestRemove; 483324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 484324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Key: String; 485324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 486324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Key := 'Bar'; 487324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FIDictionary.Remove(Key); 488324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(FIDictionary.Count,3); 489324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 490324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 491324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIDictionary.TestTryGetValue; 492324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 493324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: Boolean; 494324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value: Integer; 495324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Key: String; 496324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 497324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Key := 'Zip'; 498324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIDictionary.TryGetValue(Key, Value); 499324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckTrue(ReturnValue); 500324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(Value,7); 501324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 502324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Key := 'Oops'; 503324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIDictionary.TryGetValue(Key, Value); 504324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckFalse(ReturnValue); 505324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 506324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 507324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIDictionary.TestContainsKey; 508324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 509324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: Boolean; 510324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Key: String; 511324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 512324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Key := 'Foo'; 513324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIDictionary.ContainsKey(Key); 514324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckTrue(ReturnValue); 515324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 516324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Key := 'foo'; 517324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIDictionary.ContainsKey(Key); 518324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckFalse(ReturnValue); 519324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 520324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 521324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIDictionary.TestContainsValue; 522324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 523324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue: Boolean; 524324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value: Integer; 525324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 526324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := 3; 527324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIDictionary.ContainsValue(Value); 528324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckTrue(ReturnValue); 529324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 530324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Value := 2; 531324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ReturnValue := FIDictionary.ContainsValue(Value); 532324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckFalse(ReturnValue); 533324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 534324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 535324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestIDictionary.TestEnumeration; 536324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 537324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Pair: TPair<String, Integer>; 538324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Foo, Bar, Baz, Zip: Boolean; 539324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 540324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Foo := False; 541324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Bar := False; 542324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Baz := False; 543324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Zip := False; 544324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 545324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver for Pair in FIDictionary do 546324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver begin 547324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if (Pair.Key = 'Foo') then 548324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver begin 549324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Foo := True; 550324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(Pair.Value, 1); 551324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end 552324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver else 553324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if (Pair.Key = 'Bar') then 554324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver begin 555324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Bar := True; 556324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(Pair.Value, 3); 557324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end 558324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver else 559324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if (Pair.Key = 'Baz') then 560324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver begin 561324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Baz := True; 562324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(Pair.Value, 7); 563324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end 564324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver else 565324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if (Pair.Key = 'Zip') then 566324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver begin 567324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Zip := True; 568324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(Pair.Value, 7); 569324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end 570324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver else 571324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Check(False, 'Unknown key in dictionary'); 572324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end; 573324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckTrue(Foo); 574324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckTrue(Bar); 575324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckTrue(Baz); 576324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckTrue(Zip); 577324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 578324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 579324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ TestTLocalStorage } 580324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 581324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestTLocalStorage.TestLocalIntegerStorage; 582324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 583324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Locals: TLocalStorage; 584324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 585324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Locals.Initialize; 586324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try 587324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Locals.AsInteger['x'] := 2; 588324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Locals.AsInteger['X'] := 3; 589324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(2, Locals.AsInteger['x']); 590324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(3, Locals.AsInteger['X']); 591324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(0, Locals.AsInteger['y']); 592324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Locals.AsInteger['X'] := Locals.AsInteger['x'] * 2; 593324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(4, Locals.AsInteger['X']); 594324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(2, Locals.Count); 595324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally 596324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Locals.Finalize; 597324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end; 598324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 599324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 600324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverprocedure TestTLocalStorage.TestLocalInterfaceStorage; 601324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvervar 602324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Locals: TLocalStorage; 603324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbegin 604324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Locals.Initialize; 605324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try 606324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { Local variable Z is never accessed again. We add it to check that there 607324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver will be no memory leak. } 608324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Locals['Z'] := TANTLRString.Create('Value Z'); 609324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 610324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Locals['x'] := TANTLRString.Create('Value x'); 611324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Locals['X'] := TANTLRString.Create('Value X'); 612324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals('Value x', (Locals['x'] as IANTLRString).Value); 613324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals('Value X', (Locals['X'] as IANTLRString).Value); 614324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Check(Locals['y'] = nil); 615324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 616324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Locals['X'] := TANTLRString.Create( 617324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver (Locals['X'] as IANTLRString).Value + ' Update'); 618324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals('Value X Update', (Locals['X'] as IANTLRString).Value); 619324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver CheckEquals(3, Locals.Count); 620324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally 621324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Locals.Finalize; 622324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end; 623324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend; 624324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 625324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverinitialization 626324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // Register any test cases with the test runner 627324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RegisterTest(TestIANTLRString.Suite); 628324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RegisterTest(TestTANTLRString.Suite); 629324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RegisterTest(TestICloneable.Suite); 630324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RegisterTest(TestIList.Suite); 631324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RegisterTest(TestIDictionary.Suite); 632324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RegisterTest(TestTLocalStorage.Suite); 633324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend. 634