Login
7 branches 0 tags
Ben (X13/Arch) Code cleanup / more Clojure compat 527895f 3 years ago 755 Commits
nujel / testsuite / buffer.nuj
[test/add "#m" [string/write [buffer/allocate 0]]]
[test/add "#m00" [string/write [buffer/allocate 1]]]
[test/add "#m0000" [string/write [buffer/allocate 2]]]
[test/add "#m000000" [string/write [buffer/allocate 3]]]
[test/add 0 [-> [buffer/allocate 0] buffer/length]]
[test/add 1 [-> [buffer/allocate 1] buffer/length]]
[test/add 2 [-> [buffer/allocate 2] buffer/length]]
[test/add 514 [string/length [string/write [buffer/allocate 256]]]]
[test/add 514 [string/length [string/write [-> [buffer/allocate 0] [buffer/length! 256]]]]]
[test/add #t [buffer/immutable? #m]]
[test/add #f [buffer/immutable? [buffer/allocate 0]]]
[test/add #f [= [buffer/allocate 0] [buffer/allocate 0]]]
[test/add #t [let [[b [buffer/allocate 0]]] [= b b]]]
[test/add #f [let [[b [buffer/allocate 0]]] [< b b]]]
[test/add #f [let [[b [buffer/allocate 0]]] [> b b]]]
[test/add #t [let [[b #m1234]] [= b b]]]
[test/add #f [buffer/immutable? [buffer/copy #m12]]]
[test/add #t [buffer/immutable? [buffer/copy #m12 #t]]]
[test/add #f [let [[b [buffer/allocate 0]]] [= b [buffer/copy b]]]]
[test/add #x12 [buffer/view/ref [buffer/view/u8* #m12] 0]]
[test/add #x34 [buffer/view/ref [buffer/view/u8* #m1234] 1]]
[test/add 255 [buffer/view/ref [buffer/view/u8* #mFF] 0]]
[test/add -1 [buffer/view/ref [buffer/view/s8* #mFF] 0]]
[test/add 127 [buffer/view/ref [buffer/view/s8* #m7F] 0]]
[test/add -128 [buffer/view/ref [buffer/view/s8* #m80] 0]]
[test/add :out-of-bounds [try car [buffer/view/ref [buffer/view/u8* #m12] 1]]]
[test/add :type-error [try car [buffer/view/ref [buffer/view/u8* #m12 #f] 0]]]
[test/add #x56 [-> [buffer/allocate 1] buffer/view/u8* [buffer/view/set! 0 #x56] [buffer/view/ref 0]]]
[test/add "#m00010203" [-> [buffer/allocate 4] buffer/view/u8* [buffer/view/set! 0 0] [buffer/view/set! 1 1] [buffer/view/set! 2 2] [buffer/view/set! 3 3] buffer/view/buffer string/write]]
[test/add #f [-> [buffer/allocate 1] buffer/view/u8* buffer/view/immutable?]]
[test/add 1000 [-> [buffer/allocate 2] buffer/view/u16* [buffer/view/set! 0 1000] [buffer/view/ref 0]]]
[test/add 64536 [-> [buffer/allocate 2] buffer/view/u16* [buffer/view/set! 0 -1000] [buffer/view/ref 0]]]
[test/add -1000 [-> [buffer/allocate 2] buffer/view/s16* [buffer/view/set! 0 -1000] [buffer/view/ref 0]]]
[test/add 1000 [-> [buffer/allocate 2] buffer/view/s16* [buffer/view/set! 0 1000] [buffer/view/ref 0]]]
[test/add 100000 [-> [buffer/allocate 4] buffer/view/s32* [buffer/view/set! 0 100000] [buffer/view/ref 0]]]
[test/add -100000 [-> [buffer/allocate 4] buffer/view/s32* [buffer/view/set! 0 -100000] [buffer/view/ref 0]]]
[test/add 100000 [-> [buffer/allocate 4] buffer/view/u32* [buffer/view/set! 0  100000] [buffer/view/ref 0]]]
[test/add 4294867296 [-> [buffer/allocate 4] buffer/view/u32* [buffer/view/set! 0 -100000] [buffer/view/ref 0]]]
[test/add 10000000000 [-> [buffer/allocate 8] buffer/view/s64* [buffer/view/set! 0 10000000000] [buffer/view/ref 0]]]
[test/add 1000.0 [-> [buffer/allocate 8] buffer/view/f32* [buffer/view/set! 0 1000] [buffer/view/ref 0]]]
[test/add 1000.5 [-> [buffer/allocate 8] buffer/view/f32* [buffer/view/set! 0 1000.5] [buffer/view/ref 0]]]
[test/add 1000.0 [-> [buffer/allocate 8] buffer/view/f64* [buffer/view/set! 0 1000] [buffer/view/ref 0]]]
[test/add 1000.5 [-> [buffer/allocate 8] buffer/view/f64* [buffer/view/set! 0 1000.5] [buffer/view/ref 0]]]
[test/add :out-of-bounds [try car [-> [buffer/allocate 8] buffer/view/s8* [buffer/view/ref 9]]]]
[test/add :out-of-bounds [try car [-> [buffer/allocate 8] buffer/view/u8* [buffer/view/ref 9]]]]
[test/add :out-of-bounds [try car [-> [buffer/allocate 8] buffer/view/u16* [buffer/view/ref 5]]]]
[test/add :out-of-bounds [try car [-> [buffer/allocate 8] buffer/view/s16* [buffer/view/ref 5]]]]
[test/add :out-of-bounds [try car [-> [buffer/allocate 8] buffer/view/s32* [buffer/view/ref 3]]]]
[test/add :out-of-bounds [try car [-> [buffer/allocate 8] buffer/view/f32* [buffer/view/ref 3]]]]
[test/add :out-of-bounds [try car [-> [buffer/allocate 8] buffer/view/f64* [buffer/view/ref 1]]]]
[test/add :out-of-bounds [try car [-> [buffer/allocate 8] buffer/view/s64* [buffer/view/ref 1]]]]
[test/add :out-of-bounds [try car [-> [buffer/allocate 15] buffer/view/s64* [buffer/view/ref 1]]]]
[test/add "#m" [string/write [string->buffer ""]]]
[test/add "#m2030313233" [string/write [string->buffer " 0123"]]]
[test/add "" [buffer->string #m]]
[test/add " 0123" [buffer->string #m2030313233]]