test_string_utils.py 975 Bytes
Newer Older
1 2 3 4 5 6 7
"""
Tests for string_utils.py
"""

from django.test import TestCase
from util.string_utils import str_to_bool

8

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
class StringUtilsTest(TestCase):
    """
    Tests for str_to_bool.
    """
    def test_str_to_bool_true(self):
        self.assertTrue(str_to_bool('True'))
        self.assertTrue(str_to_bool('true'))
        self.assertTrue(str_to_bool('trUe'))

    def test_str_to_bool_false(self):
        self.assertFalse(str_to_bool('Tru'))
        self.assertFalse(str_to_bool('False'))
        self.assertFalse(str_to_bool('false'))
        self.assertFalse(str_to_bool(''))
        self.assertFalse(str_to_bool(None))
        self.assertFalse(str_to_bool('anything'))
cahrens committed
25 26 27 28 29 30 31 32 33 34

    def test_str_to_bool_errors(self):
        def test_raises_error(val):
            with self.assertRaises(AttributeError):
                self.assertFalse(str_to_bool(val))

        test_raises_error({})
        test_raises_error([])
        test_raises_error(1)
        test_raises_error(True)