models: Test Identifier field type

This commit is contained in:
Stein Magnus Jodal 2016-08-07 21:25:46 +02:00
parent a3164ca43b
commit 6a01a2e906

View File

@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals
import unittest import unittest
from mopidy.models.fields import Collection, Field, Integer, String from mopidy.models.fields import Collection, Field, Identifier, Integer, String
def create_instance(field): def create_instance(field):
@ -126,6 +126,37 @@ class StringTest(unittest.TestCase):
self.assertEqual('', instance.attr) self.assertEqual('', instance.attr)
class IdentifierTest(unittest.TestCase):
def test_default_handling(self):
instance = create_instance(Identifier(default='abc'))
self.assertEqual('abc', instance.attr)
def test_native_str_allowed(self):
instance = create_instance(Identifier())
instance.attr = str('abc')
self.assertEqual('abc', instance.attr)
def test_bytes_allowed(self):
instance = create_instance(Identifier())
instance.attr = b'abc'
self.assertEqual(b'abc', instance.attr)
def test_unicode_allowed(self):
instance = create_instance(Identifier())
instance.attr = u'abc'
self.assertEqual(u'abc', instance.attr)
def test_other_disallowed(self):
instance = create_instance(Identifier())
with self.assertRaises(TypeError):
instance.attr = 1234
def test_empty_string(self):
instance = create_instance(Identifier())
instance.attr = ''
self.assertEqual('', instance.attr)
class IntegerTest(unittest.TestCase): class IntegerTest(unittest.TestCase):
def test_default_handling(self): def test_default_handling(self):
instance = create_instance(Integer(default=1234)) instance = create_instance(Integer(default=1234))