public void GetProviderSpecificFieldType() { HsqlDataReader testSubject = NewTestSubject(); for (int i = 0; i < testSubject.FieldCount; i++) { Type actual = testSubject.GetProviderSpecificFieldType(i); switch (i) { case ColumnOrdinalFor.Array: { // TODO break; } case ColumnOrdinalFor.Bigint: { Assert.AreEqual(typeof(java.lang.Long), actual); break; } case ColumnOrdinalFor.Binary: { Assert.AreEqual(typeof(org.hsqldb.types.Binary), actual); break; } case ColumnOrdinalFor.Blob: { // TODO break; } case ColumnOrdinalFor.Boolean: { Assert.AreEqual(typeof(java.lang.Boolean), 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(java.sql.Date), actual); break; } case ColumnOrdinalFor.Decimal: { Assert.AreEqual(typeof(java.math.BigDecimal), actual); break; } case ColumnOrdinalFor.Distinct: { // TODO break; } case ColumnOrdinalFor.Double: { Assert.AreEqual(typeof(java.lang.Double), actual); break; } case ColumnOrdinalFor.Float: { Assert.AreEqual(typeof(java.lang.Double), actual); break; } case ColumnOrdinalFor.Integer: { Assert.AreEqual(typeof(java.lang.Integer), actual); break; } case ColumnOrdinalFor.JavaObject: { // TODO break; } case ColumnOrdinalFor.LongVarBinary: { Assert.AreEqual(typeof(org.hsqldb.types.Binary), actual); break; } case ColumnOrdinalFor.LongVarChar: { Assert.AreEqual(typeof(string), actual); break; } case ColumnOrdinalFor.Null: { break; } case ColumnOrdinalFor.Numeric: { Assert.AreEqual(typeof(java.math.BigDecimal), actual); break; } case ColumnOrdinalFor.Object: { Assert.AreEqual(typeof(org.hsqldb.types.JavaObject), actual); break; } case ColumnOrdinalFor.Real: { Assert.AreEqual(typeof(java.lang.Double), actual); break; } case ColumnOrdinalFor.Ref: { // TODO break; } case ColumnOrdinalFor.SmallInt: { Assert.AreEqual(typeof(java.lang.Integer), actual); break; } case ColumnOrdinalFor.Struct: { // TODO break; } case ColumnOrdinalFor.Time: { Assert.AreEqual(typeof(java.sql.Time), actual); break; } case ColumnOrdinalFor.Timestamp: { Assert.AreEqual(typeof(java.sql.Timestamp), actual); break; } case ColumnOrdinalFor.TinyInt: { Assert.AreEqual(typeof(java.lang.Integer), actual); break; } case ColumnOrdinalFor.VarBinary: { Assert.AreEqual(typeof(org.hsqldb.types.Binary), actual); break; } case ColumnOrdinalFor.VarChar: { Assert.AreEqual(typeof(string), actual); break; } case ColumnOrdinalFor.Xml: { // TODO break; } } } }