mirror of
https://github.com/onyx-and-iris/voicemeeter-api-python.git
synced 2024-11-25 04:10:48 +00:00
81 lines
2.3 KiB
Python
81 lines
2.3 KiB
Python
import pytest
|
|
|
|
from tests import data, vm
|
|
|
|
|
|
class TestSetAndGetFloatLower:
|
|
__test__ = True
|
|
|
|
"""VBVMR_SetParameterFloat, VBVMR_GetParameterFloat"""
|
|
|
|
@pytest.mark.parametrize(
|
|
"param,value",
|
|
[
|
|
(f"Strip[{data.phys_in}].Mute", 1),
|
|
(f"Bus[{data.virt_out}].Eq.on", 1),
|
|
(f"Strip[{data.phys_in}].Mute", 0),
|
|
(f"Bus[{data.virt_out}].Eq.on", 0),
|
|
],
|
|
)
|
|
def test_it_sets_and_gets_mute_eq_float_params(self, param, value):
|
|
vm.set(param, value)
|
|
assert (round(vm.get(param))) == value
|
|
|
|
@pytest.mark.parametrize(
|
|
"param,value",
|
|
[
|
|
(f"Strip[{data.phys_in}].Comp", 5.3),
|
|
(f"Strip[{data.virt_in}].Gain", -37.5),
|
|
(f"Bus[{data.virt_out}].Gain", -22.7),
|
|
],
|
|
)
|
|
def test_it_sets_and_gets_comp_gain_float_params(self, param, value):
|
|
vm.set(param, value)
|
|
assert (round(vm.get(param), 1)) == value
|
|
|
|
|
|
@pytest.mark.parametrize("value", ["test0", "test1"])
|
|
class TestSetAndGetStringLower:
|
|
__test__ = True
|
|
|
|
"""VBVMR_SetParameterStringW, VBVMR_GetParameterStringW"""
|
|
|
|
@pytest.mark.parametrize(
|
|
"param",
|
|
[(f"Strip[{data.phys_out}].label"), (f"Bus[{data.virt_out}].label")],
|
|
)
|
|
def test_it_sets_and_gets_string_params(self, param, value):
|
|
vm.set(param, value)
|
|
assert vm.get(param, string=True) == value
|
|
|
|
|
|
@pytest.mark.parametrize("value", [0, 1])
|
|
class TestMacroButtonsLower:
|
|
__test__ = True
|
|
|
|
"""VBVMR_MacroButton_SetStatus, VBVMR_MacroButton_GetStatus"""
|
|
|
|
@pytest.mark.parametrize(
|
|
"index, mode",
|
|
[(33, 1), (49, 1)],
|
|
)
|
|
def test_it_sets_and_gets_macrobuttons_state(self, index, mode, value):
|
|
vm.set_buttonstatus(index, value, mode)
|
|
assert vm.get_buttonstatus(index, mode) == value
|
|
|
|
@pytest.mark.parametrize(
|
|
"index, mode",
|
|
[(14, 2), (12, 2)],
|
|
)
|
|
def test_it_sets_and_gets_macrobuttons_stateonly(self, index, mode, value):
|
|
vm.set_buttonstatus(index, value, mode)
|
|
assert vm.get_buttonstatus(index, mode) == value
|
|
|
|
@pytest.mark.parametrize(
|
|
"index, mode",
|
|
[(50, 3), (65, 3)],
|
|
)
|
|
def test_it_sets_and_gets_macrobuttons_trigger(self, index, mode, value):
|
|
vm.set_buttonstatus(index, value, mode)
|
|
assert vm.get_buttonstatus(index, mode) == value
|