From 2d751c6c89d6f95c568e4ce050ea63af0e1c3cc4 Mon Sep 17 00:00:00 2001 From: Jake Zerrer Date: Wed, 12 Nov 2025 14:20:57 -0500 Subject: Move test out of midi.clj --- src/unheard/midi_test.clj | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/unheard/midi_test.clj (limited to 'src/unheard/midi_test.clj') diff --git a/src/unheard/midi_test.clj b/src/unheard/midi_test.clj new file mode 100644 index 0000000..cbf3d5a --- /dev/null +++ b/src/unheard/midi_test.clj @@ -0,0 +1,26 @@ +(ns unheard.midi-test + (:require [unheard.midi :as sut] + [hyperfiddle.rcf :refer [tests]]) + (:import [javax.sound.midi ShortMessage])) + +(defn test-msg [cmd ch d1 d2] + (ShortMessage. cmd ch d1 d2)) + +(tests "short-message->notes" + (let [msgs (into [] (map (fn [[cmd d1]] (test-msg cmd 0 d1 9)) + [[ShortMessage/NOTE_ON 1] + [ShortMessage/CONTROL_CHANGE 1] + [ShortMessage/NOTE_ON 2] + [ShortMessage/NOTE_OFF 2] + [ShortMessage/NOTE_OFF 1] + [ShortMessage/NOTE_ON 3] + [ShortMessage/NOTE_ON 4]]))] + (into [] + (transduce + sut/short-message->notes + conj + [] + (conj + msgs + (ShortMessage. ShortMessage/CONTROL_CHANGE 0 123 0)))) + := [#{1} #{1 2} #{1} #{} #{3} #{4 3} #{}])) -- cgit v1.2.3