Skip to content

Commit 0b584f0

Browse files
committed
Modify getColumns test to test getColumnType
1 parent e46fae7 commit 0b584f0

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/test/java/com/microsoft/sqlserver/jdbc/databasemetadata/DatabaseMetaDataTest.java

+7-4
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.sql.ResultSetMetaData;
2525
import java.sql.SQLException;
2626
import java.sql.Statement;
27+
import java.sql.Types;
2728
import java.text.MessageFormat;
2829
import java.util.HashMap;
2930
import java.util.LinkedHashMap;
@@ -700,11 +701,13 @@ public void testGetColumns() throws SQLException {
700701
String columnName = rsmd.getColumnName(i);
701702
Object value = resultSet.getObject(columnName);
702703
if (0 == rowCount) {
703-
Object expectedValue = firstRow.get(columnName);
704-
if (expectedValue instanceof String) {
704+
int expectedType = rsmd.getColumnType(i);
705+
if (null != firstRow.get(columnName)
706+
&& (Types.VARCHAR == expectedType || Types.NVARCHAR == expectedType)) {
705707
assertEquals(firstRow.get(columnName).toString().toLowerCase(),
706-
(String) resultSet.getString(columnName).toLowerCase());
707-
} else if (expectedValue instanceof Number) {
708+
resultSet.getString(columnName).toLowerCase());
709+
} else if (null != firstRow.get(columnName) && (Types.TINYINT == expectedType
710+
|| Types.SMALLINT == expectedType || Types.INTEGER == expectedType)) {
708711
assertEquals(firstRow.get(columnName), resultSet.getInt(columnName));
709712
} else {
710713
assertEquals(firstRow.get(columnName), value);

0 commit comments

Comments
 (0)