blob: f858e0f6b4648ba031d0eddd7d92dff468332666 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
"""Tests for MCP server compose_mml tool."""
from mml_composemusic_mcp.server import _execute_compose_mml
def compose_mml(**kwargs):
return _execute_compose_mml(**kwargs).result
PPMCK_MML = """#TITLE "Test"
A t120 l4 o4 v15 q2
c e g c
"""
def test_compose_ppmck():
result = compose_mml(action="compose", mml=PPMCK_MML, mode="ppmck")
assert result["success"] is True
assert result["audio"]["mime_type"] == "audio/wav"
assert "wav_path" not in result
assert result["duration_sec"] > 0
def test_validate_ppmck():
result = compose_mml(action="validate", mml=PPMCK_MML, mode="ppmck")
assert result["valid"] is True
assert result["channel_summary"]
def test_template():
result = compose_mml(action="template", mode="pyxel", template="basic")
assert "mml" in result
assert "0:" in result["mml"]
def test_compose_error():
result = compose_mml(action="compose", mml="A t0\n c", mode="ppmck")
assert result["success"] is False
assert any(e["severity"] == "error" for e in result["validation"]["errors"])
|