public void GetFieldType() { HsqlDataReader testSubject = NewTestSubject(); for (int i = 0; i < testSubject.FieldCount; i++) { Type actual = testSubject.GetFieldType(i); switch (i) { case ColumnOrdinalFor.Array: { // TODO break; } case ColumnOrdinalFor.Bigint: { Assert.AreEqual(typeof(long), actual); break; } case ColumnOrdinalFor.Binary: { Assert.AreEqual(typeof(byte[]), actual); break; } case ColumnOrdinalFor.Blob: { // TODO break; } case ColumnOrdinalFor.Boolean: { Assert.AreEqual(typeof(bool), actual); break; } case ColumnOrdinalFor.Char: { Assert.AreEqual(typeof(string), actual); break; } case ColumnOrdinalFor.Clob: { // TODO break; } case ColumnOrdinalFor.DataLink: { // TODO break; } case ColumnOrdinalFor.Date: { Assert.AreEqual(typeof(DateTime), actual); break; } case ColumnOrdinalFor.Decimal: { Assert.AreEqual(typeof(decimal), actual); break; } case ColumnOrdinalFor.Distinct: { // TODO break; } case ColumnOrdinalFor.Double: { Assert.AreEqual(typeof(double), actual); break; } case ColumnOrdinalFor.Float: { Assert.AreEqual(typeof(double), actual); break; } case ColumnOrdinalFor.Integer: { Assert.AreEqual(typeof(int), actual); break; } case ColumnOrdinalFor.JavaObject: { // TODO break; } case ColumnOrdinalFor.LongVarBinary: { Assert.AreEqual(typeof(byte[]), actual); break; } case ColumnOrdinalFor.LongVarChar: { Assert.AreEqual(typeof(string), actual); break; } case ColumnOrdinalFor.Null: { break; } case ColumnOrdinalFor.Numeric: { Assert.AreEqual(typeof(decimal), actual); break; } case ColumnOrdinalFor.Object: { Assert.AreEqual(typeof(object), actual); break; } case ColumnOrdinalFor.Real: { Assert.AreEqual(typeof(float), actual); break; } case ColumnOrdinalFor.Ref: { // TODO break; } case ColumnOrdinalFor.SmallInt: { Assert.AreEqual(typeof(short), actual); break; } case ColumnOrdinalFor.Struct: { // TODO break; } case ColumnOrdinalFor.Time: { Assert.AreEqual(typeof(DateTime), actual); break; } case ColumnOrdinalFor.Timestamp: { Assert.AreEqual(typeof(DateTime), actual); break; } case ColumnOrdinalFor.TinyInt: { Assert.AreEqual(typeof(sbyte), actual); break; } case ColumnOrdinalFor.VarBinary: { Assert.AreEqual(typeof(byte[]), actual); break; } case ColumnOrdinalFor.VarChar: { Assert.AreEqual(typeof(string), actual); break; } case ColumnOrdinalFor.Xml: { // TODO break; } } } }