⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testtharray.pas

📁 delphi通过OCI访问ORACLE
💻 PAS
字号:
unit testTHarray;

interface

uses
 SysUtils, TestFrameWork, DynamicArrays;

type
 TTestTHArray = class(TTestCase)
 private
 protected
    procedure SetUp; override;
    procedure TearDown; override;
 published
   procedure testTHArray1;
   procedure testTHArray2;
   procedure testTHArray3;
   procedure testTHArray4;
   procedure testTHArray5;
   procedure testTHArray6;
end;

implementation

procedure TTestTHArray.SetUp;
begin

end;

procedure TTestTHArray.TearDown;
begin

end;

procedure TTestTHArray.testTHarray1;
// AddValue, GetValue
var
  arr:THArrayInteger;
begin
  arr := THArrayInteger.Create;

  CheckEquals(0, arr.Count);

  arr.AddValue(123);
  arr.AddValue(11111110);
  arr.AddValue(-999999);

  CheckEquals(3, arr.Count);
  CheckEquals(123, arr[0]);
  CheckEquals(11111110, arr[1]);
  CheckEquals(-999999, arr[2]);

  arr.Free;
end;


procedure TTestTHArray.testTHarray2;
//IndexOf
var
  arr:THArrayInteger;
begin
  arr := THArrayInteger.Create;

  CheckEquals(0, arr.Count);

  arr.AddValue(-1);
  arr.AddValue(0);
  arr.AddValue(34567890);
  arr.AddValue(-999999);

  CheckEquals(4, arr.Count);

  CheckEquals(1, arr.IndexOf(0));
  CheckEquals(0, arr.IndexOf(-1));
  CheckEquals(-1, arr.IndexOf(1));
  CheckEquals(3, arr.IndexOf(-999999));
  CheckEquals(-1, arr.IndexOf(345678900));
  CheckEquals(2, arr.IndexOf(34567890));

  arr.Free;
end;

procedure TTestTHArray.testTHarray3;
// Delete
var
  arr:THArrayInteger;
begin
  arr := THArrayInteger.Create;

  CheckEquals(0, arr.Count);

  arr.AddValue(123);
  arr.AddValue(11111110);
  arr.AddValue(-9);

  CheckEquals(3, arr.Count);
  CheckEquals(123, arr[0]);
  CheckEquals(11111110, arr[1]);
  CheckEquals(-9, arr[2]);

  arr.Delete(0);
  CheckEquals(2, arr.Count);
  CheckEquals(11111110, arr[0]);

  arr.Delete(0);
  CheckEquals(1, arr.Count);
  CheckEquals(-9, arr[0]);

  try
    arr.Delete(1);
    Check(false);
  except
   on E:ERangeError do
  end;

  CheckEquals(1, arr.Count);
  arr.Delete(0);
  CheckEquals(0, arr.Count);

  try
   arr[0];
   Check(false);
  except
  end;

  arr.Free;
end;

procedure TTestTHArray.testTHarray4;
// Capacity, Clear, ClearMem
var
  arr:THArrayInteger;
begin
  arr := THArrayInteger.Create;

  CheckEquals(0, arr.Count);

  arr.AddValue(7);
	arr.AddValue(-9);
	arr.AddValue(-987654321);

  CheckEquals(3, arr.Count);
  CheckEquals(7, arr[0]);
  CheckEquals(-9, arr[1]);
  CheckEquals(-987654321, arr[2]);

  CheckEquals(4, arr.Capacity);

  arr.Clear;

  CheckEquals(0, arr.Count);
  CheckEquals(4, arr.Capacity);

  arr.AddValue(2);
	arr.AddValue(4);
	arr.AddValue(101);
	arr.AddValue(101);

  CheckEquals(2, arr[0]);
  CheckEquals(4, arr[1]);
  CheckEquals(101, arr[2]);
  CheckEquals(101, arr[3]);

  CheckEquals(4, arr.Count);
  CheckEquals(8, arr.Capacity);

  arr.AddValue(-1);

  CheckEquals(5, arr.Count);
  CheckEquals(8, arr.Capacity);

  arr.ClearMem;

  CheckEquals(0, arr.Count);
  CheckEquals(0, arr.Capacity);
end;

procedure TTestTHArray.testTHarray5;
// InsertValue, Insert
var
  arr:THArrayInteger;
  a:integer;
begin
  arr := THArrayInteger.Create;

  CheckEquals(0, arr.Count);

  arr.AddValue(7);
	arr.AddValue(9);
  arr.InsertValue(0, 11);

  CheckEquals(3, arr.Count);
  CheckEquals(11, arr[0]);
  CheckEquals(7, arr[1]);
  CheckEquals(9, arr[2]);

  arr.InsertValue(2, 33);

  CheckEquals(4, arr.Count);
  CheckEquals(11, arr[0]);
  CheckEquals(7, arr[1]);
  CheckEquals(33, arr[2]);
  CheckEquals(9, arr[3]);

  try
    arr.InsertValue(5, 55);
    Check(false);
  except
   on E:ERangeError do
  end;

  CheckEquals(4, arr.Count);

  arr.InsertValue(4, 44);

  CheckEquals(5, arr.Count);
  CheckEquals(11, arr[0]);
  CheckEquals(7, arr[1]);
  CheckEquals(33, arr[2]);
  CheckEquals(9, arr[3]);
  CheckEquals(44, arr[4]);

  arr.Clear;

  a := 5;
  arr.Insert(0, @a);
  a := 6;
  arr.Insert(1, @a);

  CheckEquals(2, arr.Count);
  CheckEquals(5, arr[0]);
  CheckEquals(6, arr[1]);

end;

procedure TTestTHArray.testTHarray6;
// Zero, SetCapacity, Hold
var
  arr:THArrayInteger;
begin
  arr := THArrayInteger.Create;

  CheckEquals(0, arr.Count);

  arr.AddValue(7);
	arr.AddValue(9);
  arr.AddValue(11);

  arr.Zero;

  CheckEquals(3, arr.Count);
  CheckEquals(0, arr[0]);
  CheckEquals(0, arr[1]);
  CheckEquals(0, arr[2]);

  arr.SetCapacity(8);
  CheckEquals(3, arr.Count);
  CheckEquals(8, arr.Capacity);

  arr.SetCapacity(17);
  CheckEquals(17, arr.Capacity);

  arr.Hold;
  CheckEquals(3, arr.Count);
  CheckEquals(arr.Count, arr.Capacity);

  arr.SetCapacity(0);
  CheckEquals(0, arr.Count);
  Checkequals(0, integer(arr.Memory));
end;


initialization
 TestFramework.RegisterTest(TTestTHArray.Suite);
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -