def test_1405_bind_date_array_direct(self): "1405 - test binding in a date array" return_value = self.cursor.var(oracledb.NUMBER) array = [r[1] for r in self.raw_data] statement = """ begin :return_value := pkg_TestDateArrays.TestInArrays( :start_value, :base_date, :array); end;""" self.cursor.execute(statement, return_value=return_value, start_value=5, base_date=oracledb.Date(2002, 12, 12), array=array) self.assertEqual(return_value.getvalue(), 35.5) array = array + array[:5] self.cursor.execute(statement, start_value=7, base_date=oracledb.Date(2002, 12, 13), array=array) self.assertEqual(return_value.getvalue(), 24.0)
def testBindDateArrayDirect(self): "test binding in a date array" returnValue = self.cursor.var(cx_Oracle.NUMBER) array = [r[1] for r in self.rawData] statement = """ begin :returnValue := pkg_TestDateArrays.TestInArrays( :startValue, :baseDate, :array); end;""" self.cursor.execute(statement, returnValue=returnValue, startValue=5, baseDate=cx_Oracle.Date(2002, 12, 12), array=array) self.assertEqual(returnValue.getvalue(), 35.5) array = array + array[:5] self.cursor.execute(statement, startValue=7, baseDate=cx_Oracle.Date(2002, 12, 13), array=array) self.assertEqual(returnValue.getvalue(), 24.0)
def test_1407_bind_date_array_by_var(self): "1407 - test binding in a date array (with arrayvar)" return_value = self.cursor.var(oracledb.NUMBER) array = self.cursor.arrayvar(oracledb.DATETIME, 10, 20) array.setvalue(0, [r[1] for r in self.raw_data]) self.cursor.execute(""" begin :return_value := pkg_TestDateArrays.TestInArrays( :start_value, :base_date, :array); end;""", return_value=return_value, start_value=7, base_date=oracledb.Date(2002, 12, 14), array=array) self.assertEqual(return_value.getvalue(), 17.5)
def test_1406_bind_date_array_by_sizes(self): "1406 - test binding in a date array (with setinputsizes)" return_value = self.cursor.var(oracledb.NUMBER) self.cursor.setinputsizes(array=[oracledb.DATETIME, 10]) array = [r[1] for r in self.raw_data] self.cursor.execute(""" begin :return_value := pkg_TestDateArrays.TestInArrays( :start_value, :base_date, :array); end;""", return_value=return_value, start_value=6, base_date=oracledb.Date(2002, 12, 13), array=array) self.assertEqual(return_value.getvalue(), 26.5)
def testBindDateArrayBySizes(self): "test binding in a date array (with setinputsizes)" returnValue = self.cursor.var(cx_Oracle.NUMBER) self.cursor.setinputsizes(array=[cx_Oracle.DATETIME, 10]) array = [r[1] for r in self.rawData] self.cursor.execute(""" begin :returnValue := pkg_TestDateArrays.TestInArrays( :startValue, :baseDate, :array); end;""", returnValue=returnValue, startValue=6, baseDate=cx_Oracle.Date(2002, 12, 13), array=array) self.assertEqual(returnValue.getvalue(), 26.5)
def testBindDateArrayByVar(self): "test binding in a date array (with arrayvar)" returnValue = self.cursor.var(cx_Oracle.NUMBER) array = self.cursor.arrayvar(cx_Oracle.DATETIME, 10, 20) array.setvalue(0, [r[1] for r in self.rawData]) self.cursor.execute(""" begin :returnValue := pkg_TestDateArrays.TestInArrays( :startValue, :baseDate, :array); end;""", returnValue=returnValue, startValue=7, baseDate=cx_Oracle.Date(2002, 12, 14), array=array) self.assertEqual(returnValue.getvalue(), 17.5)
def Date(self, year, month, day): return cx_Oracle.Date(year, month, day)