mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-27 20:05:10 +00:00
We had some tests for the number type in Alternator and how it can be stored, retrieved, calculated and sorted, but only had rudementary tests for the allowed magnitude and precision of numbers. This patch creates a new test file, test_number.py, with tests aiming to check exactly the supported magnitudes and precision of numbers. These tests verify two things: 1. That Alternator's number type supports the full precision and magnitude that DynamoDB's number type supports. We don't want to see precision or magnitude lost when storing and retrieving numbers, or when doing calculations on them. 2. That Alternator's number type does not have *better* precision or magnitude than DynamoDB does. If it did, users may be tempted to rely on that implementation detail. The three tests of the first type pass; But all four tests of the second type xfail: Alternator currently stores numbers using big_decimal which has unlimited precision and almost-unlimited magnitude, and is not yet limited by the precision and magnitude allowed by DynamoDB. This is a known issue - Refs #6794 - and these four new xfailing tests will can be used to reproduce that issue. Signed-off-by: Nadav Har'El <nyh@scylladb.com> Message-Id: <20200707204824.504877-1-nyh@scylladb.com>