mirror of
https://github.com/onyx-and-iris/voicemeeter-api-python.git
synced 2024-11-22 11:00:47 +00:00
add patch, option unit tests.
upd test badges
This commit is contained in:
parent
c105115458
commit
84f97738bf
@ -20,13 +20,21 @@ class Data:
|
||||
|
||||
name: str = kind.name
|
||||
phys_in: int = kind.ins[0] - 1
|
||||
virt_in: int = kind.ins[0] + kind.ins[1] - 1
|
||||
virt_in: int = kind.ins[0] + kind.ins[-1] - 1
|
||||
phys_out: int = kind.outs[0] - 1
|
||||
virt_out: int = kind.outs[0] + kind.outs[1] - 1
|
||||
virt_out: int = kind.outs[0] + kind.outs[-1] - 1
|
||||
vban_in: int = kind.vban[0] - 1
|
||||
vban_out: int = kind.vban[1] - 1
|
||||
vban_out: int = kind.vban[-1] - 1
|
||||
button_lower: int = 0
|
||||
button_upper: int = 79
|
||||
asio_in: int = kind.asio[0] - 1
|
||||
asio_out: int = kind.asio[-1] - 1
|
||||
insert_lower: int = 0
|
||||
insert_higher: int = kind.insert - 1
|
||||
|
||||
@property
|
||||
def channels(self):
|
||||
return (2 * self.phys_in) + (8 * self.virt_in)
|
||||
|
||||
|
||||
data = Data()
|
||||
|
@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="68" height="20" role="img" aria-label="tests: 122"><title>tests: 122</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="68" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="37" height="20" fill="#555"/><rect x="37" width="31" height="20" fill="#4c1"/><rect width="68" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="195" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="270">tests</text><text x="195" y="140" transform="scale(.1)" fill="#fff" textLength="270">tests</text><text aria-hidden="true" x="515" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="210">122</text><text x="515" y="140" transform="scale(.1)" fill="#fff" textLength="210">122</text></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="68" height="20" role="img" aria-label="tests: 140"><title>tests: 140</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="68" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="37" height="20" fill="#555"/><rect x="37" width="31" height="20" fill="#4c1"/><rect width="68" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="195" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="270">tests</text><text x="195" y="140" transform="scale(.1)" fill="#fff" textLength="270">tests</text><text aria-hidden="true" x="515" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="210">140</text><text x="515" y="140" transform="scale(.1)" fill="#fff" textLength="210">140</text></g></svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="68" height="20" role="img" aria-label="tests: 112"><title>tests: 112</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="68" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="37" height="20" fill="#555"/><rect x="37" width="31" height="20" fill="#4c1"/><rect width="68" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="195" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="270">tests</text><text x="195" y="140" transform="scale(.1)" fill="#fff" textLength="270">tests</text><text aria-hidden="true" x="515" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="210">112</text><text x="515" y="140" transform="scale(.1)" fill="#fff" textLength="210">112</text></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="68" height="20" role="img" aria-label="tests: 114"><title>tests: 114</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="68" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="37" height="20" fill="#555"/><rect x="37" width="31" height="20" fill="#4c1"/><rect width="68" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="195" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="270">tests</text><text x="195" y="140" transform="scale(.1)" fill="#fff" textLength="270">tests</text><text aria-hidden="true" x="515" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="210">114</text><text x="515" y="140" transform="scale(.1)" fill="#fff" textLength="210">114</text></g></svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="68" height="20" role="img" aria-label="tests: 138"><title>tests: 138</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="68" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="37" height="20" fill="#555"/><rect x="37" width="31" height="20" fill="#4c1"/><rect width="68" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="195" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="270">tests</text><text x="195" y="140" transform="scale(.1)" fill="#fff" textLength="270">tests</text><text aria-hidden="true" x="515" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="210">138</text><text x="515" y="140" transform="scale(.1)" fill="#fff" textLength="210">138</text></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="68" height="20" role="img" aria-label="tests: 156"><title>tests: 156</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="68" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="37" height="20" fill="#555"/><rect x="37" width="31" height="20" fill="#4c1"/><rect width="68" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="195" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="270">tests</text><text x="195" y="140" transform="scale(.1)" fill="#fff" textLength="270">tests</text><text aria-hidden="true" x="515" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="210">156</text><text x="515" y="140" transform="scale(.1)" fill="#fff" textLength="210">156</text></g></svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@ -17,6 +17,8 @@ class TestUserConfigs:
|
||||
def test_it_tests_config_string(self):
|
||||
assert "PhysStrip" in tests.strip[data.phys_in].label
|
||||
assert "VirtStrip" in tests.strip[data.virt_in].label
|
||||
assert "PhysBus" in tests.bus[data.phys_out].label
|
||||
assert "VirtBus" in tests.bus[data.virt_out].label
|
||||
|
||||
def test_it_tests_config_bool(self):
|
||||
assert tests.strip[0].A1 == True
|
||||
|
@ -17,6 +17,7 @@ class TestRemoteFactories:
|
||||
assert hasattr(tests, "button")
|
||||
assert hasattr(tests, "vban")
|
||||
assert hasattr(tests, "device")
|
||||
assert hasattr(tests, "option")
|
||||
|
||||
assert len(tests.strip) == 3
|
||||
assert len(tests.bus) == 2
|
||||
@ -34,7 +35,9 @@ class TestRemoteFactories:
|
||||
assert hasattr(tests, "button")
|
||||
assert hasattr(tests, "vban")
|
||||
assert hasattr(tests, "device")
|
||||
assert hasattr(tests, "option")
|
||||
assert hasattr(tests, "recorder")
|
||||
assert hasattr(tests, "patch")
|
||||
|
||||
assert len(tests.strip) == 5
|
||||
assert len(tests.bus) == 5
|
||||
@ -52,7 +55,9 @@ class TestRemoteFactories:
|
||||
assert hasattr(tests, "button")
|
||||
assert hasattr(tests, "vban")
|
||||
assert hasattr(tests, "device")
|
||||
assert hasattr(tests, "option")
|
||||
assert hasattr(tests, "recorder")
|
||||
assert hasattr(tests, "patch")
|
||||
assert hasattr(tests, "fx")
|
||||
|
||||
assert len(tests.strip) == 8
|
||||
|
@ -143,17 +143,54 @@ class TestSetAndGetBoolHigher:
|
||||
|
||||
@pytest.mark.skipif(
|
||||
data.name != "potato",
|
||||
reason="Skip test if kind is basic",
|
||||
reason="Skip test if kind is not potato",
|
||||
)
|
||||
@pytest.mark.parametrize(
|
||||
"param",
|
||||
[("reverb"), ("reverb_ab"), ("delay"), ("delay_ab")],
|
||||
)
|
||||
def test_it_sets_and_gets_fx_bool_params(self, param, value):
|
||||
assert hasattr(tests, "fx")
|
||||
setattr(tests.fx, param, value)
|
||||
assert getattr(tests.fx, param) == value
|
||||
|
||||
""" patch tests """
|
||||
|
||||
@pytest.mark.skipif(
|
||||
data.name == "basic",
|
||||
reason="Skip test if kind is basic",
|
||||
)
|
||||
@pytest.mark.parametrize(
|
||||
"param",
|
||||
[("postfadercomposite")],
|
||||
)
|
||||
def test_it_sets_and_gets_patch_bool_params(self, param, value):
|
||||
setattr(tests.patch, param, value)
|
||||
assert getattr(tests.patch, param) == value
|
||||
|
||||
""" patch.insert tests """
|
||||
|
||||
@pytest.mark.skipif(
|
||||
data.name == "basic",
|
||||
reason="Skip test if kind is basic",
|
||||
)
|
||||
@pytest.mark.parametrize(
|
||||
"index, param",
|
||||
[(data.insert_lower, "on"), (data.insert_higher, "on")],
|
||||
)
|
||||
def test_it_sets_and_gets_patch_insert_bool_params(self, index, param, value):
|
||||
setattr(tests.patch.insert[index], param, value)
|
||||
assert getattr(tests.patch.insert[index], param) == value
|
||||
|
||||
""" option tests """
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"param",
|
||||
[("monitoronsel")],
|
||||
)
|
||||
def test_it_sets_and_gets_option_bool_params(self, param, value):
|
||||
setattr(tests.option, param, value)
|
||||
assert getattr(tests.option, param) == value
|
||||
|
||||
|
||||
class TestSetAndGetIntHigher:
|
||||
__test__ = True
|
||||
@ -183,6 +220,78 @@ class TestSetAndGetIntHigher:
|
||||
setattr(tests.vban.outstream[index], param, value)
|
||||
assert getattr(tests.vban.outstream[index], param) == value
|
||||
|
||||
""" patch.asio tests """
|
||||
|
||||
@pytest.mark.skipif(
|
||||
data.name == "basic",
|
||||
reason="Skip test if kind is basic",
|
||||
)
|
||||
@pytest.mark.parametrize(
|
||||
"index,value",
|
||||
[
|
||||
(0, 1),
|
||||
(data.asio_in, 4),
|
||||
],
|
||||
)
|
||||
def test_it_sets_and_gets_patch_asio_in_int_params(self, index, value):
|
||||
tests.patch.asio[index].set(value)
|
||||
assert tests.patch.asio[index].get() == value
|
||||
|
||||
""" patch.A2[i]-A5[i] tests """
|
||||
|
||||
@pytest.mark.skipif(
|
||||
data.name == "basic",
|
||||
reason="Skip test if kind is basic",
|
||||
)
|
||||
@pytest.mark.parametrize(
|
||||
"index,value",
|
||||
[
|
||||
(0, 1),
|
||||
(data.asio_out, 4),
|
||||
],
|
||||
)
|
||||
def test_it_sets_and_gets_patch_asio_out_int_params(self, index, value):
|
||||
tests.patch.A2[index].set(value)
|
||||
assert tests.patch.A2[index].get() == value
|
||||
tests.patch.A5[index].set(value)
|
||||
assert tests.patch.A5[index].get() == value
|
||||
|
||||
""" patch.composite tests """
|
||||
|
||||
@pytest.mark.skipif(
|
||||
data.name == "basic",
|
||||
reason="Skip test if kind is basic",
|
||||
)
|
||||
@pytest.mark.parametrize(
|
||||
"index,value",
|
||||
[
|
||||
(0, 3),
|
||||
(0, data.channels),
|
||||
(7, 8),
|
||||
(7, data.channels),
|
||||
],
|
||||
)
|
||||
def test_it_sets_and_gets_patch_composite_int_params(self, index, value):
|
||||
tests.patch.composite[index].set(value)
|
||||
assert tests.patch.composite[index].get() == value
|
||||
|
||||
""" option tests """
|
||||
|
||||
@pytest.mark.skipif(
|
||||
data.name == "basic",
|
||||
reason="Skip test if kind is basic",
|
||||
)
|
||||
@pytest.mark.parametrize(
|
||||
"index,value",
|
||||
[
|
||||
(data.phys_out, 30),
|
||||
(data.phys_out, 500),
|
||||
],
|
||||
)
|
||||
def test_it_sets_and_gets_patch_delay_int_params(self, index, value):
|
||||
tests.option.delay[index].set(value)
|
||||
assert tests.option.delay[index].get() == value
|
||||
|
||||
|
||||
class TestSetAndGetFloatHigher:
|
||||
__test__ = True
|
||||
|
Loading…
Reference in New Issue
Block a user