mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
51 lines
1.1 KiB
Python
51 lines
1.1 KiB
Python
from django.test import TestCase
|
|
|
|
from utilities.choices import ChoiceSet
|
|
|
|
|
|
class ExampleChoices(ChoiceSet):
|
|
|
|
CHOICE_A = 'a'
|
|
CHOICE_B = 'b'
|
|
CHOICE_C = 'c'
|
|
CHOICE_1 = 1
|
|
CHOICE_2 = 2
|
|
CHOICE_3 = 3
|
|
CHOICES = (
|
|
('Letters', (
|
|
(CHOICE_A, 'A'),
|
|
(CHOICE_B, 'B'),
|
|
(CHOICE_C, 'C'),
|
|
)),
|
|
('Digits', (
|
|
(CHOICE_1, 'One'),
|
|
(CHOICE_2, 'Two'),
|
|
(CHOICE_3, 'Three'),
|
|
)),
|
|
)
|
|
LEGACY_MAP = {
|
|
CHOICE_A: 101,
|
|
CHOICE_B: 102,
|
|
CHOICE_C: 103,
|
|
CHOICE_1: 201,
|
|
CHOICE_2: 202,
|
|
CHOICE_3: 203,
|
|
}
|
|
|
|
|
|
class ChoiceSetTestCase(TestCase):
|
|
|
|
def test_values(self):
|
|
self.assertListEqual(ExampleChoices.values(), ['a', 'b', 'c', 1, 2, 3])
|
|
|
|
def test_as_dict(self):
|
|
self.assertEqual(ExampleChoices.as_dict(), {
|
|
'a': 'A', 'b': 'B', 'c': 'C', 1: 'One', 2: 'Two', 3: 'Three'
|
|
})
|
|
|
|
def test_slug_to_id(self):
|
|
self.assertEqual(ExampleChoices.slug_to_id('a'), 101)
|
|
|
|
def test_id_to_slug(self):
|
|
self.assertEqual(ExampleChoices.id_to_slug(101), 'a')
|