from soundchanger.change import is_valid_change import pytest def test_valid_change(): assert is_valid_change('a>b/c_d') == True assert is_valid_change('a>b/c__d') == True assert is_valid_change('a>b/c_') == True assert is_valid_change('a>b/_d') == True assert is_valid_change('a>b') == True assert is_valid_change('a>b/_') == True assert is_valid_change('a>b/') == True def test_invalid_change(): assert is_valid_change('>') == False assert is_valid_change('>b') == False assert is_valid_change('a>b/a') == False assert is_valid_change('>/_') == False assert is_valid_change('a>b//c_d') == False def test_raises_value_error(): with pytest.raises(ValueError): is_valid_change('>', ignore_errors=False) with pytest.raises(ValueError): is_valid_change('>', ignore_errors=False) with pytest.raises(ValueError): is_valid_change('>b', ignore_errors=False) with pytest.raises(ValueError): is_valid_change('a>b/a', ignore_errors=False) with pytest.raises(ValueError): is_valid_change('>/_', ignore_errors=False) with pytest.raises(ValueError): is_valid_change('a>b//c_d', ignore_errors=False)