Sha256: 9ecb2e0980b97e4b61688aec71c9d62d4441f43002b4b31f70a2d925d37763d4
Contents?: true
Size: 1.69 KB
Versions: 396
Compression:
Stored size: 1.69 KB
Contents
(defmodule circular-buffer-tests (behaviour ltest-unit) (export all)) (include-lib "ltest/include/ltest-macros.lfe") (deftest create (let ((pid (circular-buffer:create 5))) (is-equal #(ok 5) (circular-buffer:size pid)))) (deftest write-read (let ((pid (circular-buffer:create 4))) (is-equal #(error empty) (circular-buffer:read pid)) (circular-buffer:write pid 1) (is-equal #(ok 1) (circular-buffer:read pid)))) (deftest write-read-many (let ((pid (circular-buffer:create 3)) (values '(1 2 3))) (write-all pid values) (check-reads pid values))) (deftest over-write-read (let ((pid (circular-buffer:create 2))) (write-all pid '(1 2 3 4)) (check-reads pid '(3 4)) (is-equal #(error empty) (circular-buffer:read pid)))) (deftest write-attempt (let* ((pid (circular-buffer:create 1)) (attempt-1 (circular-buffer:write-attempt pid 1)) (attempt-2 (progn (is-equal 'ok attempt-1) (circular-buffer:write-attempt pid 2)))) (is-equal #(error full) attempt-2) (is-equal #(ok 1) (circular-buffer:read pid)))) (deftest producer-consumer (let* ((pid (circular-buffer:create 1)) (attempt-1 (circular-buffer:write-attempt pid 1)) (attempt-2 (progn (is-equal 'ok attempt-1) (circular-buffer:write-attempt pid 2)))) (is-equal #(error full) attempt-2) (is-equal #(ok 1) (circular-buffer:read pid)))) (defun check-reads (pid values) (lists:foreach (lambda (value) (is-equal `#(ok ,value) (circular-buffer:read pid))) values)) (defun write-all (pid values) (lists:foreach (lambda (value) (circular-buffer:write pid value)) values))
Version data entries
396 entries across 396 versions & 1 rubygems