mirror of
https://github.com/got-feedBack/feedBack.git
synced 2026-08-11 19:29:33 +00:00
Clean release snapshot
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
"""Tests for lib/tones.py — sloppak tone-change payload builder."""
|
||||
|
||||
from tones import sloppak_tone_changes
|
||||
|
||||
|
||||
# ── sloppak_tone_changes (highway payload builder) ───────────────────────────
|
||||
|
||||
def test_sloppak_tone_changes_sorts_and_returns_base():
|
||||
base, changes = sloppak_tone_changes({
|
||||
"base": "Clean",
|
||||
"changes": [{"t": 12.5, "name": "Drive"}, {"t": 3.0, "name": "Clean"}],
|
||||
})
|
||||
assert base == "Clean"
|
||||
assert changes == [{"t": 3.0, "name": "Clean"}, {"t": 12.5, "name": "Drive"}]
|
||||
|
||||
|
||||
def test_sloppak_tone_changes_skips_malformed_markers():
|
||||
_, changes = sloppak_tone_changes({
|
||||
"changes": [
|
||||
{"t": "nan", "name": "BadStr"},
|
||||
{"t": float("inf"), "name": "Inf"},
|
||||
{"t": 5.0, "name": 123}, # non-string name
|
||||
{"t": None, "name": "NoTime"},
|
||||
"not-a-dict",
|
||||
{"t": 7.0, "name": "Good"},
|
||||
],
|
||||
})
|
||||
assert changes == [{"t": 7.0, "name": "Good"}]
|
||||
|
||||
|
||||
def test_sloppak_tone_changes_handles_none_and_bad_base():
|
||||
assert sloppak_tone_changes(None) == ("", [])
|
||||
base, changes = sloppak_tone_changes({"base": 123, "changes": []})
|
||||
assert base == "" and changes == []
|
||||
|
||||
|
||||
def test_sloppak_tone_changes_non_dict_input():
|
||||
"""A truthy non-dict payload must not crash."""
|
||||
assert sloppak_tone_changes(["not", "a", "dict"]) == ("", [])
|
||||
assert sloppak_tone_changes("nope") == ("", [])
|
||||
|
||||
|
||||
def test_sloppak_tone_changes_non_list_changes():
|
||||
"""A truthy non-list `changes` value must not raise on iteration."""
|
||||
base, changes = sloppak_tone_changes({"base": "Clean", "changes": 1})
|
||||
assert base == "Clean" and changes == []
|
||||
Reference in New Issue
Block a user