137 lines
5.3 KiB
Python
137 lines
5.3 KiB
Python
#------------------------------------------------------------------------------
|
|
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
|
#------------------------------------------------------------------------------
|
|
|
|
"""
|
|
Module for testing comparisons with database types and API types. This also
|
|
contains tests for comparisons with database types and variable types, for
|
|
backwards compatibility.
|
|
"""
|
|
|
|
import TestEnv
|
|
|
|
import cx_Oracle
|
|
|
|
class TestCase(TestEnv.BaseTestCase):
|
|
|
|
def __testCompare(self, dbType, apiType):
|
|
self.assertEqual(dbType, dbType)
|
|
self.assertEqual(dbType, apiType)
|
|
self.assertEqual(apiType, dbType)
|
|
self.assertNotEqual(dbType, 5)
|
|
self.assertNotEqual(dbType, cx_Oracle.DB_TYPE_OBJECT)
|
|
|
|
def testBfile(self):
|
|
"test cx_Oracle.DB_TYPE_BFILE comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_BFILE, cx_Oracle.BINARY)
|
|
self.assertEqual(cx_Oracle.DB_TYPE_BFILE, cx_Oracle.BFILE)
|
|
|
|
def testBinaryDouble(self):
|
|
"test cx_Oracle.DB_TYPE_BINARY_DOUBLE comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_BINARY_DOUBLE, cx_Oracle.NUMBER)
|
|
self.assertEqual(cx_Oracle.DB_TYPE_BINARY_DOUBLE,
|
|
cx_Oracle.NATIVE_FLOAT)
|
|
|
|
def testBinaryFloat(self):
|
|
"test cx_Oracle.DB_TYPE_BINARY_FLOAT comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_BINARY_FLOAT, cx_Oracle.NUMBER)
|
|
|
|
def testBinaryInteger(self):
|
|
"test cx_Oracle.DB_TYPE_BINARY_INTEGER comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_BINARY_INTEGER, cx_Oracle.NUMBER)
|
|
self.assertEqual(cx_Oracle.DB_TYPE_BINARY_INTEGER,
|
|
cx_Oracle.NATIVE_INT)
|
|
|
|
def testBlob(self):
|
|
"test cx_Oracle.DB_TYPE_BLOB comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_BLOB, cx_Oracle.BINARY)
|
|
self.assertEqual(cx_Oracle.DB_TYPE_BLOB, cx_Oracle.BLOB)
|
|
|
|
def testBoolean(self):
|
|
"test cx_Oracle.DB_TYPE_BOOLEAN comparisons"
|
|
self.assertEqual(cx_Oracle.DB_TYPE_BOOLEAN, cx_Oracle.BOOLEAN)
|
|
|
|
def testChar(self):
|
|
"test cx_Oracle.DB_TYPE_CHAR comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_CHAR, cx_Oracle.STRING)
|
|
self.assertEqual(cx_Oracle.DB_TYPE_CHAR, cx_Oracle.FIXED_CHAR)
|
|
|
|
def testClob(self):
|
|
"test cx_Oracle.DB_TYPE_CLOB comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_CLOB, cx_Oracle.STRING)
|
|
self.assertEqual(cx_Oracle.DB_TYPE_CLOB, cx_Oracle.CLOB)
|
|
|
|
def testCursor(self):
|
|
"test cx_Oracle.DB_TYPE_CURSOR comparisons"
|
|
self.assertEqual(cx_Oracle.DB_TYPE_CURSOR, cx_Oracle.CURSOR)
|
|
|
|
def testDate(self):
|
|
"test cx_Oracle.DB_TYPE_DATE comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_DATE, cx_Oracle.DATETIME)
|
|
|
|
def testIntervalDS(self):
|
|
"test cx_Oracle.DB_TYPE_INTERVAL_DS comparisons"
|
|
self.assertEqual(cx_Oracle.DB_TYPE_INTERVAL_DS, cx_Oracle.INTERVAL)
|
|
|
|
def testLong(self):
|
|
"test cx_Oracle.DB_TYPE_LONG comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_LONG, cx_Oracle.STRING)
|
|
self.assertEqual(cx_Oracle.DB_TYPE_LONG, cx_Oracle.LONG_STRING)
|
|
|
|
def testLongRaw(self):
|
|
"test cx_Oracle.DB_TYPE_LONG_RAW comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_LONG_RAW, cx_Oracle.BINARY)
|
|
self.assertEqual(cx_Oracle.DB_TYPE_LONG_RAW, cx_Oracle.LONG_BINARY)
|
|
|
|
def testNchar(self):
|
|
"test cx_Oracle.DB_TYPE_NCHAR comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_NCHAR, cx_Oracle.STRING)
|
|
self.assertEqual(cx_Oracle.DB_TYPE_NCHAR, cx_Oracle.FIXED_NCHAR)
|
|
|
|
def testNclob(self):
|
|
"test cx_Oracle.DB_TYPE_NCLOB comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_NCLOB, cx_Oracle.STRING)
|
|
self.assertEqual(cx_Oracle.DB_TYPE_NCLOB, cx_Oracle.NCLOB)
|
|
|
|
def testNumber(self):
|
|
"test cx_Oracle.DB_TYPE_NUMBER comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_NUMBER, cx_Oracle.NUMBER)
|
|
|
|
def testNvarchar(self):
|
|
"test cx_Oracle.DB_TYPE_NVARCHAR comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_NVARCHAR, cx_Oracle.STRING)
|
|
self.assertEqual(cx_Oracle.DB_TYPE_NVARCHAR, cx_Oracle.NCHAR)
|
|
|
|
def testObject(self):
|
|
"test cx_Oracle.DB_TYPE_OBJECT comparisons"
|
|
self.assertEqual(cx_Oracle.DB_TYPE_OBJECT, cx_Oracle.OBJECT)
|
|
|
|
def testRaw(self):
|
|
"test cx_Oracle.DB_TYPE_RAW comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_RAW, cx_Oracle.BINARY)
|
|
|
|
def testRowid(self):
|
|
"test cx_Oracle.DB_TYPE_ROWID comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_ROWID, cx_Oracle.ROWID)
|
|
|
|
def testTimestamp(self):
|
|
"test cx_Oracle.DB_TYPE_TIMESTAMP comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_TIMESTAMP, cx_Oracle.DATETIME)
|
|
self.assertEqual(cx_Oracle.DB_TYPE_TIMESTAMP, cx_Oracle.TIMESTAMP)
|
|
|
|
def testTimestampLTZ(self):
|
|
"test cx_Oracle.DB_TYPE_TIMESTAMP_LTZ comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_TIMESTAMP_LTZ, cx_Oracle.DATETIME)
|
|
|
|
def testTimestampTZ(self):
|
|
"test cx_Oracle.DB_TYPE_TIMESTAMP_TZ comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_TIMESTAMP_TZ, cx_Oracle.DATETIME)
|
|
|
|
def testVarchar(self):
|
|
"test cx_Oracle.DB_TYPE_VARCHAR comparisons"
|
|
self.__testCompare(cx_Oracle.DB_TYPE_VARCHAR, cx_Oracle.STRING)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
TestEnv.RunTestCases()
|