Carp/test/uint64.carp
Tim Deve 321ee6f819 Fixes StdInt.carp load in tests
The load call was failing on case-sensitive file systems
2020-04-04 13:21:23 +01:00

62 lines
2.0 KiB
Plaintext

(load "Test.carp")
(use Test)
(load "StdInt.carp")
(use Uint64)
(deftest test
(assert-equal test
(from-long 3l)
(+ (from-long 1l) (from-long 2l))
"addition works")
(assert-equal test
(from-long 3l)
(- (from-long 2l) (from-long -1l))
"subtraction works")
(assert-equal test
(from-long -4l)
(* (from-long 2l) (from-long -2l))
"multiplication works")
(assert-equal test
(from-long 2l)
(/ (from-long 5l) (from-long 2l))
"division works")
(assert-equal test
(from-long 2l)
(/ (from-long 5l) (from-long 2l))
"division works")
(assert-equal test
(from-long 8l)
(bit-shift-left (from-long 2l) (from-long 2l))
"shift left works")
(assert-equal test
(from-long 1l)
(bit-shift-right (from-long 4l) (from-long 2l))
"shift right works")
(assert-equal test
(from-long 6l)
(bit-or (from-long 4l) (from-long 2l))
"binary or works")
(assert-equal test
(from-long 2l)
(bit-and (from-long 6l) (from-long 3l))
"binary and works")
(assert-equal test
; set 32 bits, shift up (higher 32 bits), then add lower 32 bits
(+ (bit-shift-left (from-long 4294967295l) (from-long 32l)) (from-long 4294967295l))
(bit-not (from-long 0l))
"binary not works")
(assert-equal test
(from-long 5l)
(bit-xor (from-long 6l) (from-long 3l))
"binary xor works")
(assert-equal test
5l
(to-long (from-long 5l))
"conversion works")
(assert-equal test
"Uint64(1)"
&(str (from-long 1l))
"str works")
)