diff options
Diffstat (limited to 'src/unheard/time_object_test.clj')
| -rw-r--r-- | src/unheard/time_object_test.clj | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/unheard/time_object_test.clj b/src/unheard/time_object_test.clj new file mode 100644 index 0000000..07e49c3 --- /dev/null +++ b/src/unheard/time_object_test.clj @@ -0,0 +1,69 @@ +(ns unheard.time-object-test + (:require [unheard.time-object :as sut] + [missionary.core :as m] + [hyperfiddle.rcf :refer [tests] :as rcf])) + +(tests + "behavioral test" + (let [to1-start (atom 5) + >to1-start (m/watch to1-start) + to1-end (atom 10) + >to1-end (m/watch to1-end) + to1-value (atom :to1-a) + >to1-value (m/watch to1-value) + + to1 (sut/time-object >to1-start >to1-end >to1-value) + + to2-start (atom 7) + >to2-start (m/watch to2-start) + to2-end (atom 15) + >to2-end (m/watch to2-end) + to2-value (atom :to1-b) + >to2-value (m/watch to2-value) + + to2 (sut/time-object >to2-start >to2-end >to2-value) + + toc1 (sut/time-object-collection to1 to2) + + to3-start (atom 2) + >to3-start (m/watch to3-start) + to3-end (atom 3) + >to3-end (m/watch to3-end) + to3-value (atom :to3-a) + >to3-value (m/watch to3-value) + + to3 (sut/time-object >to3-start >to3-end >to3-value) + + to4-start (atom 8) + >to4-start (m/watch to4-start) + to4-end (atom 12) + >to4-end (m/watch to4-end) + to4-value (atom :to3-b) + >to4-value (m/watch to4-value) + + to4 (sut/time-object >to4-start >to4-end >to4-value) + + toc2 (sut/time-object-collection to3 to4) + + combined (sut/time-object-collection toc1 toc2) + + timeline (sut/timeline combined) + + point-query-at (atom 0) + >point-query-at (m/watch point-query-at) + + point-query-result (sut/point-query timeline >point-query-at) + + #_#_#_#_#_#_ + range-query-range (atom [0 10]) + >range-query-range (m/watch range-query-range) + + range-query-result (sut/range-query timeline >range-query-range) + ] + + (def cancel + ((m/reduce rcf/tap nil point-query-result) #() #(throw %))) + + (cancel) + + )) |
