Skip to content

Commit 9d51cae

Browse files
committed
chore: update tests for float
1 parent becbcc1 commit 9d51cae

File tree

4 files changed

+31
-10
lines changed

4 files changed

+31
-10
lines changed

test/mockserver_tests/test_bit_reversed_sequence.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
BatchCreateSessionsRequest,
2222
ExecuteSqlRequest,
2323
CommitRequest,
24-
GetSessionRequest,
2524
BeginTransactionRequest,
2625
)
2726
from test.mockserver_tests.mock_server_test_base import (
@@ -128,10 +127,8 @@ def test_insert_row(self):
128127
session.commit()
129128
# Verify the requests that we got.
130129
requests = self.spanner_service.requests
131-
eq_(5, len(requests))
130+
eq_(4, len(requests))
132131
is_instance_of(requests[0], BatchCreateSessionsRequest)
133-
# We should get rid of this extra round-trip for GetSession....
134-
is_instance_of(requests[1], GetSessionRequest)
135-
is_instance_of(requests[2], BeginTransactionRequest)
136-
is_instance_of(requests[3], ExecuteSqlRequest)
137-
is_instance_of(requests[4], CommitRequest)
132+
is_instance_of(requests[1], BeginTransactionRequest)
133+
is_instance_of(requests[2], ExecuteSqlRequest)
134+
is_instance_of(requests[3], CommitRequest)

test/test_suite_13.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
from google.cloud.spanner_v1 import RequestOptions, Client
2828

2929
import sqlalchemy
30-
from sqlalchemy import create_engine
30+
from sqlalchemy import create_engine, literal, FLOAT
3131
from sqlalchemy import inspect
3232
from sqlalchemy import testing
3333
from sqlalchemy import ForeignKey
@@ -52,6 +52,7 @@
5252
from sqlalchemy import Float
5353
from sqlalchemy import LargeBinary
5454
from sqlalchemy import String
55+
from sqlalchemy.sql.expression import cast
5556
from sqlalchemy.ext.declarative import declarative_base
5657
from sqlalchemy.orm import relation
5758
from sqlalchemy.orm import Session
@@ -1300,6 +1301,13 @@ def test_float_as_float(self):
13001301
filter_=lambda n: n is not None and round(n, 5) or None,
13011302
)
13021303

1304+
@testing.requires.literal_float_coercion
1305+
def test_float_coerce_round_trip(self, connection):
1306+
expr = 15.7563
1307+
1308+
val = connection.scalar(select(cast(literal(expr), FLOAT)))
1309+
eq_(val, expr)
1310+
13031311
@requires.precision_numerics_general
13041312
def test_precision_decimal(self):
13051313
"""

test/test_suite_14.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
from google.cloud.spanner_v1 import RequestOptions, Client
2828

2929
import sqlalchemy
30-
from sqlalchemy import create_engine
30+
from sqlalchemy import create_engine, literal, FLOAT
3131
from sqlalchemy import inspect
3232
from sqlalchemy import testing
3333
from sqlalchemy import ForeignKey
@@ -53,6 +53,7 @@
5353
from sqlalchemy import Float
5454
from sqlalchemy import LargeBinary
5555
from sqlalchemy import String
56+
from sqlalchemy.sql.expression import cast
5657
from sqlalchemy.ext.declarative import declarative_base
5758
from sqlalchemy.orm import relation
5859
from sqlalchemy.orm import Session
@@ -1650,6 +1651,13 @@ def test_float_as_float(self, do_numeric_test):
16501651
filter_=lambda n: n is not None and round(n, 5) or None,
16511652
)
16521653

1654+
@testing.requires.literal_float_coercion
1655+
def test_float_coerce_round_trip(self, connection):
1656+
expr = 15.7563
1657+
1658+
val = connection.scalar(select(cast(literal(expr), FLOAT)))
1659+
eq_(val, expr)
1660+
16531661
@requires.precision_numerics_general
16541662
def test_precision_decimal(self, do_numeric_test):
16551663
"""

test/test_suite_20.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
from google.cloud.spanner_v1 import RequestOptions, Client
2828
import sqlalchemy
29-
from sqlalchemy import create_engine
29+
from sqlalchemy import create_engine, literal, FLOAT
3030
from sqlalchemy.engine import Inspector
3131
from sqlalchemy import inspect
3232
from sqlalchemy import testing
@@ -55,6 +55,7 @@
5555
from sqlalchemy import Float
5656
from sqlalchemy import LargeBinary
5757
from sqlalchemy import String
58+
from sqlalchemy.sql.expression import cast
5859
from sqlalchemy.ext.declarative import declarative_base
5960
from sqlalchemy.orm import relationship
6061
from sqlalchemy.orm import Session
@@ -2455,6 +2456,13 @@ def test_float_as_float(self, do_numeric_test):
24552456
filter_=lambda n: n is not None and round(n, 5) or None,
24562457
)
24572458

2459+
@testing.requires.literal_float_coercion
2460+
def test_float_coerce_round_trip(self, connection):
2461+
expr = 15.7563
2462+
2463+
val = connection.scalar(select(cast(literal(expr), FLOAT)))
2464+
eq_(val, expr)
2465+
24582466
@requires.precision_numerics_general
24592467
def test_precision_decimal(self, do_numeric_test):
24602468
"""

0 commit comments

Comments
 (0)