diff --git a/sosc/bytevector.rkt b/sosc/bytevector.rkt index 6537311..191533e 100644 --- a/sosc/bytevector.rkt +++ b/sosc/bytevector.rkt @@ -69,3 +69,24 @@ (f v 0 n (endianness big)) v))) + +(module+ test + (require rackunit) + + (test-begin + (let [(long-vec (bytes 10 20 30 40 50))] + (check-equal? (bytevector-section long-vec 0 2) + (bytes 10 20)) + (check-equal? (bytevector-section long-vec 0 (bytes-length long-vec)) + long-vec) + ;; bytevector-section is equivalent ot subbytes + (check-equal? (bytevector-section long-vec 1 3) + (subbytes long-vec 1 3)) + + + ; check if exceding limits raises exception + (check-exn exn:fail? (λ () (bytevector-section long-vec 0 30))) + (check-exn exn:fail? (λ () (bytevector-section long-vec -1 3))) + ) + ) + ) \ No newline at end of file