This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
zhangyang-zerotierone/ext/librethinkdbxx/test/upstream/datum/number.yaml
2017-11-02 07:05:11 -07:00

126 lines
2.5 KiB
YAML

# desc will be included in a comment to help identify test groups
desc: Tests of conversion to and from the RQL number type
tests:
# Simple integers
- cd: r.expr(1)
js:
- r(1)
- r.expr(1)
rb:
- r 1
- r(1)
- r.expr(1)
ot: 1
- cd: r.expr(-1)
js:
- r(-1)
- r.expr(-1)
rb:
- r -1
- r(-1)
- r.expr(-1)
ot: -1
- cd: r.expr(0)
js:
- r(0)
- r.expr(0)
rb:
- r 0
- r(0)
- r.expr(0)
ot: 0
# Floats
- cd: r.expr(1.0)
js:
- r(1.0)
- r.expr(1.0)
rb:
- r 1.0
- r(1.0)
- r.expr(1.0)
ot: 1.0
- cd: r.expr(1.5)
js:
- r(1.5)
- r.expr(1.5)
rb:
- r 1.5
- r(1.5)
- r.expr(1.5)
ot: 1.5
- cd: r.expr(-0.5)
js:
- r(-0.5)
- r.expr(-0.5)
rb:
- r -0.5
- r(-0.5)
- r.expr(-0.5)
ot: -0.5
- cd: r.expr(67498.89278)
js:
- r(67498.89278)
- r.expr(67498.89278)
rb:
- r 67498.89278
- r(67498.89278)
- r.expr(67498.89278)
ot: 67498.89278
# Big numbers
- cd: r.expr(1234567890)
js:
- r(1234567890)
- r.expr(1234567890)
rb:
- r 1234567890
- r(1234567890)
- r.expr(1234567890)
ot: 1234567890
- cd: r.expr(-73850380122423)
js:
- r.expr(-73850380122423)
- r(-73850380122423)
rb:
- r -73850380122423
- r.expr(-73850380122423)
- r(-73850380122423)
ot: -73850380122423
# Test that numbers round-trip correctly
- py:
cd: r.expr(1234567890123456789012345678901234567890)
ot: float(1234567890123456789012345678901234567890)
js:
cd: r.expr(1234567890123456789012345678901234567890)
ot: 1234567890123456789012345678901234567890
- cd: r.expr(123.4567890123456789012345678901234567890)
ot: 123.4567890123456789012345678901234567890
- cd: r.expr(1).type_of()
ot: 'NUMBER'
# test coercions
- cd: r.expr(1).coerce_to('string')
ot: '1'
- cd: r.expr(1).coerce_to('number')
ot: 1
# The drivers now convert to an int (where relevant) if we think the result
# looks like an int (result % 1.0 == 0.0)
- py: r.expr(1.0)
rb: r 1.0
ot: int_cmp(1)
- py: r.expr(45)
rb: r 45
ot: int_cmp(45)
- py: r.expr(1.2)
rb: r 1.2
ot: float_cmp(1.2)