import unittest
from copy import copy
from django.test import TestCase
from fobi.data_structures import SortableDict
from fobi.tests.base import print_info
__title__ = 'fobi.tests.test_dynamic_forms'
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
__copyright__ = '2014-2016 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = ('FobiDataStructuresTest',)
[docs]class FobiDataStructuresTest(TestCase):
"""Tests of django-fobi ``data_structures`` module functionality."""
[docs] def setUp(self):
"""Set up."""
self.initial = SortableDict(
[
('b', 1),
('a', 2),
('c', 3),
]
)
self.expected = SortableDict(
[
('a', 2),
('b', 1),
('c', 3),
]
)
@print_info
def test_01_sortable_dict_move_before_key(self):
"""Test the `fobi.data_structures.SortableDict.move_before_key`."""
flow = []
flow.append(copy(self.initial))
# Expected: a, b, c
res = self.initial.move_before_key(source_key='a', target_key='b')
self.assertTrue(res)
flow.append(copy(self.initial))
self.assertTrue(self.initial == self.expected)
return flow
@print_info
def test_02_sortable_dict_move_after_key(self):
"""Test the `fobi.data_structures.SortableDict.move_after_key`."""
flow = []
flow.append(copy(self.initial))
# Expected: a, b, c
res = self.initial.move_after_key(source_key='b', target_key='a')
self.assertTrue(res)
flow.append(copy(self.initial))
self.assertTrue(self.initial == self.expected)
return flow
if __name__ == '__main__':
unittest.main()