summaryrefslogtreecommitdiff
path: root/ext/librethinkdbxx/test/upstream/times/time_arith.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'ext/librethinkdbxx/test/upstream/times/time_arith.yaml')
-rw-r--r--ext/librethinkdbxx/test/upstream/times/time_arith.yaml197
1 files changed, 0 insertions, 197 deletions
diff --git a/ext/librethinkdbxx/test/upstream/times/time_arith.yaml b/ext/librethinkdbxx/test/upstream/times/time_arith.yaml
deleted file mode 100644
index 7584fe8a..00000000
--- a/ext/librethinkdbxx/test/upstream/times/time_arith.yaml
+++ /dev/null
@@ -1,197 +0,0 @@
-desc: Test basic time arithmetic
-tests:
- - def: rt1 = 1375147296.681
- - def: rt2 = 1375147296.682
- - def: rt3 = 1375147297.681
- - def: rt4 = 2375147296.681
- - def: rts = [rt1, rt2, rt3, rt4]
-
- - def: t1 = r.epoch_time(rt1)
- - def: t2 = r.epoch_time(rt2)
- - def: t3 = r.epoch_time(rt3)
- - def: t4 = r.epoch_time(rt4)
- - def: ts = r.expr([t1, t2, t3, t4])
-
- # We run into double precision with the first one
- - rb: ((t2 - t1) * 1000).do{|x| (x > 0.99) & (x < 1.01)}
- py: ((t2 - t1) * 1000).do(lambda x:(x > 0.99) & (x < 1.01))
- js: t2.sub(t1).mul(1000).do(r.row.gt(0.99).and(r.row.lt(1.01)))
- ot: true
- - cd: t3 - t1
- js: t3.sub(t1)
- ot: 1
- - cd: t4 - t1
- js: t4.sub(t1)
- ot: 1000000000
-
- - rb: ((t1 - t2) * 1000).do{|x| (x < -0.99) & (x > -1.01)}
- py: ((t1 - t2) * 1000).do(lambda x:(x < -0.99) & (x > -1.01))
- js: t1.sub(t2).mul(1000).do(r.row.lt(-0.99).and(r.row.gt(-1.01)))
- ot: true
- - cd: t1 - t3
- js: t1.sub(t3)
- ot: -1
- - cd: t1 - t4
- js: t1.sub(t4)
- ot: -1000000000
-
- - rb: ts.map{|x| t1 + (x - t1)}.map{|x| x.to_epoch_time}
- py: ts.map(lambda x:t1 + (x - t1)).map(lambda x:x.to_epoch_time())
- js: ts.map(t1.add(r.row.sub(t1))).map(r.row.toEpochTime())
- ot: ([rt1, rt2, rt3, rt4])
- - rb: ts.map{|x| (t1 + x) - t1}.map{|x| x.to_epoch_time}
- py: ts.map(lambda x:(t1 + x) - t1).map(lambda x:x.to_epoch_time())
- js: ts.map(t1.add(r.row).sub(t1)).map(r.row.toEpochTime())
- ot: err("ReqlQueryLogicError", "Expected type NUMBER but found PTYPE<TIME>.", [])
- - rb: ts.map{|x| t1 - (t1 - x)}.map{|x| x.to_epoch_time}
- py: ts.map(lambda x:t1 - (t1 - x)).map(lambda x:x.to_epoch_time())
- js: ts.map(t1.sub(t1.sub(r.row))).map(r.row.toEpochTime())
- ot: ([rt1, rt2, rt3, rt4])
-
- - rb: ts.map{|x| ts.map{|y| [x < y, x <= y, x.eq(y), x.ne(y), x >= y, x > y]}}
- py: ts.map(lambda x:ts.map(lambda y:[x < y, x <= y, x == y, x != y, x >= y, x > y]))
- js: ts.map(function(x) { return ts.map(function(y) { return [x.lt(y), x.le(y), x.eq(y), x.ne(y), x.ge(y), x.gt(y)]; }); })
- ot: ([[[false, true, true, false, true, false],
- [true, true, false, true, false, false],
- [true, true, false, true, false, false],
- [true, true, false, true, false, false]],
- [[false, false, false, true, true, true],
- [false, true, true, false, true, false],
- [true, true, false, true, false, false],
- [true, true, false, true, false, false]],
- [[false, false, false, true, true, true],
- [false, false, false, true, true, true],
- [false, true, true, false, true, false],
- [true, true, false, true, false, false]],
- [[false, false, false, true, true, true],
- [false, false, false, true, true, true],
- [false, false, false, true, true, true],
- [false, true, true, false, true, false]]])
-
- - def:
- rb: datum_types = r([null, true, false, 1, "1", [1], {"1" => 1}, r.binary('')])
- py: datum_types = r.expr([null, true, false, 1, "1", [1], {"1":1}, r.binary(b'')])
- js: datum_types = r([null, true, false, 1, "1", [1], {"1":1}, r.binary(Buffer(0))])
-
-# Test comparisons, from both directions (there was a problem where
-# the directions had different behavior).
- - rb: datum_types.map{|x| [[x, t1], [t1, x]].map{|xy| xy[0].do{|x| xy[1].do{|y| [x < y, x <= y, x.eq(y), x.ne(y), x >= y, x > y]}}}}
- py: datum_types.map(lambda x:r.expr([[x, t1], [t1, x]]).map(lambda xy:xy[0].do(lambda x2:xy[1].do(lambda y:[x2 < y, x2 <= y, x2 == y, x2 != y, x2 >= y, x2 > y]))))
- js: datum_types.map(function(x) { return r([[x, t1], [t1, x]]).map(function(xy) { return xy.nth(0).do(function(x) { return xy.nth(1).do(function(y) { return [x.lt(y), x.le(y), x.eq(y), x.ne(y), x.ge(y), x.gt(y)]; }); }); }); })
- ot: ([[[true, true, false, true, false, false],
- [false, false, false, true, true, true]],
- [[true, true, false, true, false, false],
- [false, false, false, true, true, true]],
- [[true, true, false, true, false, false],
- [false, false, false, true, true, true]],
- [[true, true, false, true, false, false],
- [false, false, false, true, true, true]],
- [[false, false, false, true, true, true],
- [true, true, false, true, false, false]],
- [[true, true, false, true, false, false],
- [false, false, false, true, true, true]],
- [[true, true, false, true, false, false],
- [false, false, false, true, true, true]],
- [[true, true, false, true, false, false],
- [false, false, false, true, true, true]]])
-
- - rb: ts.map{|a| ts.map{|b| ts.map{|c| b.during(a, c)}}}
- py: ts.map(lambda a:ts.map(lambda b:ts.map(lambda c:b.during(a, c))))
- js: ts.map(function(a) { return ts.map(function(b) { return ts.map(function(c) { return b.during(a, c); }); }); })
- ot: ([[[false, true, true, true],
- [false, false, true, true],
- [false, false, false, true],
- [false, false, false, false]],
- [[false, false, false, false],
- [false, false, true, true],
- [false, false, false, true],
- [false, false, false, false]],
- [[false, false, false, false],
- [false, false, false, false],
- [false, false, false, true],
- [false, false, false, false]],
- [[false, false, false, false],
- [false, false, false, false],
- [false, false, false, false],
- [false, false, false, false]]])
-
- - rb: ts.map{|a| ts.map{|b| ts.map{|c| b.during(a, c, :left_bound => :open)}}}
- py: ts.map(lambda a:ts.map(lambda b:ts.map(lambda c:b.during(a, c, left_bound='open'))))
- js: ts.map(function(a) { return ts.map(function(b) { return ts.map(function(c) { return b.during(a, c, {leftBound:'open'}); }); }); })
- ot: ([[[false, false, false, false],
- [false, false, true, true],
- [false, false, false, true],
- [false, false, false, false]],
- [[false, false, false, false],
- [false, false, false, false],
- [false, false, false, true],
- [false, false, false, false]],
- [[false, false, false, false],
- [false, false, false, false],
- [false, false, false, false],
- [false, false, false, false]],
- [[false, false, false, false],
- [false, false, false, false],
- [false, false, false, false],
- [false, false, false, false]]])
-
- - rb: ts.map{|a| ts.map{|b| ts.map{|c| b.during(a, c, :right_bound => :closed)}}}
- py: ts.map(lambda a:ts.map(lambda b:ts.map(lambda c:b.during(a, c, right_bound='closed'))))
- js: ts.map(function(a) { return ts.map(function(b) { return ts.map(function(c) { return b.during(a, c, {rightBound:'closed'}); }); }); })
- ot: ([[[true, true, true, true],
- [false, true, true, true],
- [false, false, true, true],
- [false, false, false, true]],
- [[false, false, false, false],
- [false, true, true, true],
- [false, false, true, true],
- [false, false, false, true]],
- [[false, false, false, false],
- [false, false, false, false],
- [false, false, true, true],
- [false, false, false, true]],
- [[false, false, false, false],
- [false, false, false, false],
- [false, false, false, false],
- [false, false, false, true]]])
-
- - rb: ts.map{|a| ts.map{|b| ts.map{|c| b.during(a, c, :left_bound => :open, :right_bound => :closed)}}}
- py: ts.map(lambda a:ts.map(lambda b:ts.map(lambda c:b.during(a, c, left_bound='open', right_bound='closed'))))
- js: ts.map(function(a) { return ts.map(function(b) { return ts.map(function(c) { return b.during(a, c, {leftBound:'open', rightBound:'closed'}); }); }); })
- ot: ([[[false, false, false, false],
- [false, true, true, true],
- [false, false, true, true],
- [false, false, false, true]],
- [[false, false, false, false],
- [false, false, false, false],
- [false, false, true, true],
- [false, false, false, true]],
- [[false, false, false, false],
- [false, false, false, false],
- [false, false, false, false],
- [false, false, false, true]],
- [[false, false, false, false],
- [false, false, false, false],
- [false, false, false, false],
- [false, false, false, false]]])
-
- - rb: ts.map{|x| x.date + x.time_of_day}.map{|x| x.to_epoch_time}
- py: ts.map(lambda x:x.date() + x.time_of_day()).map(lambda x:x.to_epoch_time())
- js: ts.map(r.row.date().add(r.row.timeOfDay())).map(r.row.toEpochTime())
- ot: rts
-
- # Test time interaction with r.js
- - rb: r.epoch_time(rt1).do(r.js("(function(data){return data})")).to_epoch_time()
- py: r.epoch_time(rt1).do(r.js("(function(data){return data})")).to_epoch_time()
- js: r.epoch_time(rt1).do(r.js("(function(data){return data})")).toEpochTime()
- ot: rt1
-
- - rb: r.do(r.js("new Date('2012-08-01')")).to_iso8601()
- py: r.do(r.js("new Date('2012-08-01')")).to_iso8601()
- js: r.do(r.js("new Date('2012-08-01')")).toISO8601()
- ot: ("2012-08-01T00:00:00+00:00")
-
- - rb: r.do(r.js("(function(x){doc = new Object(); doc.date = new Date('2012-08-01'); return doc;})"))["date"].to_iso8601()
- py: r.do(r.js("(function(x){doc = new Object(); doc.date = new Date('2012-08-01'); return doc;})"))["date"].to_iso8601()
- js: r.do(r.js("(function(x){doc = new Object(); doc.date = new Date('2012-08-01'); return doc;})"))("date").toISO8601()
- ot: ("2012-08-01T00:00:00+00:00")