mopidy/tests/utils/config_test.py

54 lines
1.5 KiB
Python

from __future__ import unicode_literals
from mopidy.utils import config
from tests import unittest
class ValidateChoiceTest(unittest.TestCase):
def test_no_choices_passes(self):
config.validate_choice('foo', None)
def test_valid_value_passes(self):
config.validate_choice('foo', ['foo', 'bar', 'baz'])
def test_empty_choices_fails(self):
with self.assertRaises(ValueError):
config.validate_choice('foo', [])
def test_invalid_value_fails(self):
with self.assertRaises(ValueError):
config.validate_choice('foobar', ['foo', 'bar', 'baz'])
class ValidateMinimumTest(unittest.TestCase):
def test_no_minimum_passes(self):
config.validate_minimum(10, None)
def test_valid_value_passes(self):
config.validate_minimum(10, 5)
def test_to_small_value_fails(self):
with self.assertRaises(ValueError):
config.validate_minimum(10, 20)
def test_to_small_value_fails_with_zero_as_minimum(self):
with self.assertRaises(ValueError):
config.validate_minimum(-1, 0)
class ValidateMaximumTest(unittest.TestCase):
def test_no_maximum_passes(self):
config.validate_maximum(5, None)
def test_valid_value_passes(self):
config.validate_maximum(5, 10)
def test_to_large_value_fails(self):
with self.assertRaises(ValueError):
config.validate_maximum(10, 5)
def test_to_large_value_fails_with_zero_as_maximum(self):
with self.assertRaises(ValueError):
config.validate_maximum(5, 0)