Add test for scaled decimal
parent
fc90daddc3
commit
5f3da6b096
|
|
@ -60,17 +60,17 @@ public abstract class MockConnection implements Connection {
|
||||||
Mockito.when(this.prepareStatement(Mockito.anyString())).thenReturn(mockPreparedStatement);
|
Mockito.when(this.prepareStatement(Mockito.anyString())).thenReturn(mockPreparedStatement);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void mockSimpleDecimalResult(int value) throws SQLException {
|
public final void mockBigDecimalResult(long value, int scale) throws SQLException {
|
||||||
PreparedStatement mockPreparedStatement = Mockito.mock(PreparedStatement.class);
|
PreparedStatement mockPreparedStatement = Mockito.mock(PreparedStatement.class);
|
||||||
Mockito.when(mockPreparedStatement.execute()).thenReturn(true);
|
Mockito.when(mockPreparedStatement.execute()).thenReturn(true);
|
||||||
mockResultSet = Mockito.mock(ResultSet.class, "ResultSet(for simple decimal)");
|
mockResultSet = Mockito.mock(ResultSet.class, "ResultSet(for BigDecimal)");
|
||||||
Mockito.when(mockPreparedStatement.getResultSet()).thenReturn(mockResultSet);
|
Mockito.when(mockPreparedStatement.getResultSet()).thenReturn(mockResultSet);
|
||||||
Mockito.when(mockResultSet.next()).thenReturn(true);
|
Mockito.when(mockResultSet.next()).thenReturn(true);
|
||||||
ResultSetMetaData mockMetaData = Mockito.mock(ResultSetMetaData.class);
|
ResultSetMetaData mockMetaData = Mockito.mock(ResultSetMetaData.class);
|
||||||
Mockito.when(mockResultSet.getMetaData()).thenReturn(mockMetaData);
|
Mockito.when(mockResultSet.getMetaData()).thenReturn(mockMetaData);
|
||||||
Mockito.when(mockMetaData.getColumnCount()).thenReturn(1);
|
Mockito.when(mockMetaData.getColumnCount()).thenReturn(1);
|
||||||
|
|
||||||
BigDecimal bd = BigDecimal.valueOf(value);
|
BigDecimal bd = BigDecimal.valueOf(value, scale);
|
||||||
Mockito.when(mockResultSet.getObject(1)).thenReturn(bd);
|
Mockito.when(mockResultSet.getObject(1)).thenReturn(bd);
|
||||||
Mockito.when(mockMetaData.getColumnType(1)).thenReturn(Types.DECIMAL);
|
Mockito.when(mockMetaData.getColumnType(1)).thenReturn(Types.DECIMAL);
|
||||||
Mockito.when(this.prepareStatement(Mockito.anyString())).thenReturn(mockPreparedStatement);
|
Mockito.when(this.prepareStatement(Mockito.anyString())).thenReturn(mockPreparedStatement);
|
||||||
|
|
|
||||||
|
|
@ -57,13 +57,20 @@ class MockTest(unittest.TestCase):
|
||||||
result = cursor.fetchone()
|
result = cursor.fetchone()
|
||||||
self.assertEquals(result[0], "1899-12-31")
|
self.assertEquals(result[0], "1899-12-31")
|
||||||
|
|
||||||
def test_simple_decimal(self):
|
def test_decimal_scale_zero(self):
|
||||||
self.conn.jconn.mockSimpleDecimalResult(12345)
|
self.conn.jconn.mockBigDecimalResult(12345, 0)
|
||||||
cursor = self.conn.cursor()
|
cursor = self.conn.cursor()
|
||||||
cursor.execute("dummy stmt")
|
cursor.execute("dummy stmt")
|
||||||
result = cursor.fetchone()
|
result = cursor.fetchone()
|
||||||
self.assertEquals(str(result[0]), "12345")
|
self.assertEquals(str(result[0]), "12345")
|
||||||
|
|
||||||
|
def test_decimal_places(self):
|
||||||
|
self.conn.jconn.mockBigDecimalResult(12345, 2)
|
||||||
|
cursor = self.conn.cursor()
|
||||||
|
cursor.execute("dummy stmt")
|
||||||
|
result = cursor.fetchone()
|
||||||
|
self.assertEquals(str(result[0]), "123.45")
|
||||||
|
|
||||||
def test_sql_exception_on_execute(self):
|
def test_sql_exception_on_execute(self):
|
||||||
self.conn.jconn.mockExceptionOnExecute("java.sql.SQLException", "expected")
|
self.conn.jconn.mockExceptionOnExecute("java.sql.SQLException", "expected")
|
||||||
cursor = self.conn.cursor()
|
cursor = self.conn.cursor()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue