public void DataType_MultiSet_Test() { using (CUBRIDConnection conn = new CUBRIDConnection()) { conn.ConnectionString = DBHelper.connString; conn.Open(); DBHelper.ExecuteSQL("drop table if exists testtable", conn); DBHelper.ExecuteSQL("CREATE TABLE testtable(clsid multiset_of(INTEGER));", conn); using (CUBRIDCommand cmd = new CUBRIDCommand("Select * from TestTable", conn)) { using (CUBRIDDataReader reader = (CUBRIDDataReader)cmd.ExecuteReader()) { reader.Read(); Assert.AreEqual(reader.HasRows, false); Assert.AreEqual(reader.GetColumnType(0), typeof(Object[])); Assert.AreEqual(reader.GetColumnTypeName(0), "MULTISET"); try { reader.GetColumnName(-1); } catch (Exception ex) { Assert.IsTrue((ex as IndexOutOfRangeException) != null); } try { reader.GetColumnTypeName(-1); } catch (Exception ex) { Assert.IsTrue((ex as IndexOutOfRangeException) != null); } try { reader.GetColumnTypeName(2); } catch (Exception ex) { Assert.IsTrue((ex as IndexOutOfRangeException) != null); } try { reader.GetColumnType(-1); } catch (Exception ex) { Assert.IsTrue((ex as IndexOutOfRangeException) != null); } try { reader.GetColumnType(2); } catch (Exception ex) { Assert.IsTrue((ex as IndexOutOfRangeException) != null); } } } DBHelper.ExecuteSQL("drop TestTable;", conn); } }