Przeglądaj źródła

fcl-db: tests: formatting (reorder methods)

git-svn-id: trunk@23169 -
lacak 12 lat temu
rodzic
commit
da67d3be15
1 zmienionych plików z 145 dodań i 147 usunięć
  1. 145 147
      packages/fcl-db/tests/testfieldtypes.pas

+ 145 - 147
packages/fcl-db/tests/testfieldtypes.pas

@@ -57,7 +57,6 @@ type
     procedure TestNonNullableParams;
     procedure TestDblQuoteEscComments;
     procedure TestpfInUpdateFlag; // bug 7565
-    procedure TestInt;
     procedure TestScript;
     procedure TestInsertReturningQuery;
     procedure TestOpenStoredProc;
@@ -76,12 +75,13 @@ type
     procedure TestBlobSize;
 
     procedure TestLargeRecordSize;
+    procedure TestInt;
     procedure TestNumeric;
     procedure TestFloat;
+    procedure TestDate;
     procedure TestDateTime;       // bug 6925
     procedure TestString;
     procedure TestUnlVarChar;
-    procedure TestDate;
 
     procedure TestNullValues;
     procedure TestParamQuery;
@@ -231,30 +231,6 @@ begin
   end;
 end;
 
-procedure TTestFieldTypes.TestInt;
-
-var
-  i          : byte;
-
-begin
-  CreateTableWithFieldType(ftInteger,'INT');
-  TestFieldDeclaration(ftInteger,4);
-
-  for i := 0 to testIntValuesCount-1 do
-    TSQLDBConnector(DBConnector).Connection.ExecuteDirect('insert into FPDEV2 (FT) values (' + inttostr(testIntValues[i]) + ')');
-
-  with TSQLDBConnector(DBConnector).Query do
-    begin
-    Open;
-    for i := 0 to testIntValuesCount-1 do
-      begin
-      AssertEquals(testIntValues[i],fields[0].AsInteger);
-      Next;
-      end;
-    close;
-    end;
-end;
-
 procedure TTestFieldTypes.TestLargeRecordSize;
 
 begin
@@ -278,6 +254,56 @@ begin
     end;
 end;
 
+procedure TTestFieldTypes.CreateTableWithFieldType(ADatatype: TFieldType;
+  ASQLTypeDecl: string);
+begin
+  with TSQLDBConnector(DBConnector) do
+  begin
+    Connection.ExecuteDirect('create table FPDEV2 (FT ' +ASQLTypeDecl+ ')');
+    // Firebird/Interbase need a commit after a DDL statement. Not necessary for the other connections
+    CommitDDL;
+  end;
+end;
+
+procedure TTestFieldTypes.TestFieldDeclaration(ADatatype: TFieldType;
+  ADataSize: integer);
+begin
+  with TSQLDBConnector(DBConnector).Query do
+    begin
+    SQL.Clear;
+    SQL.Add('select * from FPDEV2');
+    Open;
+    AssertEquals(1,FieldCount);
+    AssertTrue(CompareText('FT',fields[0].FieldName)=0);
+    AssertEquals('DataSize', ADataSize, Fields[0].DataSize);
+    AssertEquals('DataType', ord(ADatatype), ord(Fields[0].DataType));
+    Close;
+    end;
+end;
+
+procedure TTestFieldTypes.TestInt;
+
+var
+  i          : byte;
+
+begin
+  CreateTableWithFieldType(ftInteger,'INT');
+  TestFieldDeclaration(ftInteger,4);
+
+  for i := 0 to testIntValuesCount-1 do
+    TSQLDBConnector(DBConnector).Connection.ExecuteDirect('insert into FPDEV2 (FT) values (' + inttostr(testIntValues[i]) + ')');
+
+  with TSQLDBConnector(DBConnector).Query do
+    begin
+    Open;
+    for i := 0 to testIntValuesCount-1 do
+      begin
+      AssertEquals(testIntValues[i],fields[0].AsInteger);
+      Next;
+      end;
+    close;
+    end;
+end;
 
 procedure TTestFieldTypes.TestNumeric;
 
@@ -356,6 +382,32 @@ begin
   end;
 end;
 
+procedure TTestFieldTypes.TestFloat;
+const
+  testValuesCount = 21;
+  testValues : Array[0..testValuesCount-1] of double = (-maxSmallint-1,-maxSmallint,-256,-255,-128,-127,-1,0,1,127,128,255,256,maxSmallint,maxSmallint+1,0.123456,-0.123456,4.35,12.434E7,9.876e-5,123.45678);
+
+var
+  i          : byte;
+
+begin
+  CreateTableWithFieldType(ftFloat,'FLOAT');
+  TestFieldDeclaration(ftFloat,sizeof(double));
+
+  for i := 0 to testValuesCount-1 do
+    TSQLDBConnector(DBConnector).Connection.ExecuteDirect('insert into FPDEV2 (FT) values (' + floattostr(testValues[i],DBConnector.FormatSettings) + ')');
+
+  with TSQLDBConnector(DBConnector).Query do
+    begin
+    Open;
+    for i := 0 to testValuesCount-1 do
+      begin
+      AssertEquals(testValues[i],fields[0].AsFloat);
+      Next;
+      end;
+    close;
+    end;
+end;
 
 procedure TTestFieldTypes.TestString;
 
@@ -486,6 +538,73 @@ begin
 
 end;
 
+procedure TTestFieldTypes.TestDateTime;
+
+const
+  testValuesCount = 31;
+  testValues : Array[0..testValuesCount-1] of string = (
+    '2000-01-01',
+    '1999-12-31',
+    '2004-02-29',
+    '2004-03-01',
+    '1991-02-28',
+    '1991-03-01',
+    '1977-09-29',
+    '2000-01-01 10:00:00',
+    '2000-01-01 23:59:59',
+    '1994-03-06 11:54:30',
+    '2040-10-16',                   // MySQL 4.0 doesn't support datetimes before 1970 or after 2038
+    '2100-01-01 01:01:01',
+    '1903-04-02 01:04:02',
+    '1900-01-01',
+    '1899-12-31',
+    '1899-12-30',
+    '1899-12-29',
+    '1899-12-30 18:00:51',
+    '1899-12-30 04:00:51',
+    '1899-12-29 04:00:51',
+    '1899-12-29 18:00:51',
+    '1815-09-24 03:47:22',
+    '1800-03-30',
+    '1754-06-04',
+    '1650-05-10',                   // MS SQL 2005 doesn't support datetimes before 1753
+    '1400-02-03 12:21:53',
+    '1333-02-03 21:44:21',
+    '0904-04-12',
+    '0354-11-20 21:25:15',
+    '0199-07-09',
+    '0001-01-01'
+  );
+
+var
+  i : byte;
+
+begin
+  CreateTableWithFieldType(ftDateTime,FieldtypeDefinitions[ftDateTime]);
+  TestFieldDeclaration(ftDateTime,8);
+
+  for i := 0 to testValuesCount-1 do
+    if SQLConnType=oracle then
+      TSQLDBConnector(DBConnector).Connection.ExecuteDirect('insert into FPDEV2 (FT) values (to_date (''' + testValues[i] + ''',''YYYY-MM-DD HH24:MI:SS''))')
+    else
+      TSQLDBConnector(DBConnector).Connection.ExecuteDirect('insert into FPDEV2 (FT) values (''' + testValues[i] + ''')');
+
+  with TSQLDBConnector(DBConnector).Query do
+    begin
+    Open;
+    for i := 0 to testValuesCount-1 do
+      begin
+      if length(testValues[i]) < 12 then
+        AssertEquals(testValues[i],FormatDateTime('yyyy/mm/dd', fields[0].AsDateTime, DBConnector.FormatSettings))
+      else
+        AssertEquals(testValues[i],FormatDateTime('yyyy/mm/dd hh:mm:ss', fields[0].AsDateTime, DBConnector.FormatSettings));
+      Next;
+      end;
+    close;
+    end;
+end;
+
+
 procedure TTestFieldTypes.TestChangeBlob;
 
 var s : string;
@@ -584,100 +703,6 @@ begin
     end;
 end;
 
-
-procedure TTestFieldTypes.TestDateTime;
-
-const
-  testValuesCount = 31;
-  testValues : Array[0..testValuesCount-1] of string = (
-    '2000-01-01',
-    '1999-12-31',
-    '2004-02-29',
-    '2004-03-01',
-    '1991-02-28',
-    '1991-03-01',
-    '1977-09-29',
-    '2000-01-01 10:00:00',
-    '2000-01-01 23:59:59',
-    '1994-03-06 11:54:30',
-    '2040-10-16',                   // MySQL 4.0 doesn't support datetimes before 1970 or after 2038
-    '2100-01-01 01:01:01',
-    '1903-04-02 01:04:02',
-    '1900-01-01',
-    '1899-12-31',
-    '1899-12-30',
-    '1899-12-29',
-    '1899-12-30 18:00:51',
-    '1899-12-30 04:00:51',
-    '1899-12-29 04:00:51',
-    '1899-12-29 18:00:51',
-    '1815-09-24 03:47:22',
-    '1800-03-30',
-    '1754-06-04',
-    '1650-05-10',                   // MS SQL 2005 doesn't support datetimes before 1753
-    '1400-02-03 12:21:53',
-    '1333-02-03 21:44:21',
-    '0904-04-12',
-    '0354-11-20 21:25:15',
-    '0199-07-09',
-    '0001-01-01'
-  );
-
-var
-  i : byte;
-
-begin
-  CreateTableWithFieldType(ftDateTime,FieldtypeDefinitions[ftDateTime]);
-  TestFieldDeclaration(ftDateTime,8);
-
-  for i := 0 to testValuesCount-1 do
-    if SQLConnType=oracle then
-      TSQLDBConnector(DBConnector).Connection.ExecuteDirect('insert into FPDEV2 (FT) values (to_date (''' + testValues[i] + ''',''YYYY-MM-DD HH24:MI:SS''))')
-    else
-      TSQLDBConnector(DBConnector).Connection.ExecuteDirect('insert into FPDEV2 (FT) values (''' + testValues[i] + ''')');
-
-  with TSQLDBConnector(DBConnector).Query do
-    begin
-    Open;
-    for i := 0 to testValuesCount-1 do
-      begin
-      if length(testValues[i]) < 12 then
-        AssertEquals(testValues[i],FormatDateTime('yyyy/mm/dd', fields[0].AsDateTime, DBConnector.FormatSettings))
-      else
-        AssertEquals(testValues[i],FormatDateTime('yyyy/mm/dd hh:mm:ss', fields[0].AsDateTime, DBConnector.FormatSettings));
-      Next;
-      end;
-    close;
-    end;
-end;
-
-procedure TTestFieldTypes.TestFloat;
-const
-  testValuesCount = 21;
-  testValues : Array[0..testValuesCount-1] of double = (-maxSmallint-1,-maxSmallint,-256,-255,-128,-127,-1,0,1,127,128,255,256,maxSmallint,maxSmallint+1,0.123456,-0.123456,4.35,12.434E7,9.876e-5,123.45678);
-
-var
-  i          : byte;
-
-begin
-  CreateTableWithFieldType(ftFloat,'FLOAT');
-  TestFieldDeclaration(ftFloat,sizeof(double));
-
-  for i := 0 to testValuesCount-1 do
-    TSQLDBConnector(DBConnector).Connection.ExecuteDirect('insert into FPDEV2 (FT) values (' + floattostr(testValues[i],DBConnector.FormatSettings) + ')');
-
-  with TSQLDBConnector(DBConnector).Query do
-    begin
-    Open;
-    for i := 0 to testValuesCount-1 do
-      begin
-      AssertEquals(testValues[i],fields[0].AsFloat);
-      Next;
-      end;
-    close;
-    end;
-end;
-
 procedure TTestFieldTypes.TestNullValues;
 begin
   TSQLDBConnector(DBConnector).Connection.ExecuteDirect('create table FPDEV2 (FIELD1 INT, FIELD2 INT)');
@@ -1028,33 +1053,6 @@ begin
 
 end;
 
-procedure TTestFieldTypes.CreateTableWithFieldType(ADatatype: TFieldType;
-  ASQLTypeDecl: string);
-begin
-  with TSQLDBConnector(DBConnector) do
-  begin
-    Connection.ExecuteDirect('create table FPDEV2 (FT ' +ASQLTypeDecl+ ')');
-    // Firebird/Interbase need a commit after a DDL statement. Not necessary for the other connections
-    CommitDDL;
-  end;
-end;
-
-procedure TTestFieldTypes.TestFieldDeclaration(ADatatype: TFieldType;
-  ADataSize: integer);
-begin
-  with TSQLDBConnector(DBConnector).Query do
-    begin
-    SQL.Clear;
-    SQL.Add('select * from FPDEV2');
-    Open;
-    AssertEquals(1,FieldCount);
-    AssertTrue(CompareText('FT',fields[0].FieldName)=0);
-    AssertEquals('DataSize', ADataSize, Fields[0].DataSize);
-    AssertEquals('DataType', ord(ADatatype), ord(Fields[0].DataType));
-    Close;
-    end;
-end;
-
 procedure TTestFieldTypes.TestQueryAfterReconnect;
 var DS: TDataset;
 begin