1 from __future__ import absolute_import, print_function, unicode_literals
3 from django.test import TestCase
4 from ..models import Sequencer, sequencer_default
5 from ..experiments_factory import SequencerFactory
7 class SequencerTestCases(TestCase):
8 def test_default(self):
9 # starting with no default
10 s = SequencerFactory()
14 total = Sequencer.objects.filter(isdefault=True).count()
15 self.assertEqual(total, 1)
20 total = Sequencer.objects.filter(isdefault=True).count()
21 self.assertEqual(total, 0)
23 other_default = SequencerFactory()
25 total = Sequencer.objects.filter(isdefault=True).count()
26 self.assertEqual(total, 1)
29 def test_update_default(self):
30 old_default = SequencerFactory()
33 s = SequencerFactory()
36 new_default = sequencer_default()
38 self.assertNotEqual(old_default, new_default)
39 self.assertEqual(new_default, s)
41 total = Sequencer.objects.filter(isdefault=True).count()
42 self.assertEqual(total, 1)
45 def test_update_other(self):
46 old_default = SequencerFactory()
48 total = Sequencer.objects.filter(isdefault=True).count()
49 self.assertEqual(total, 1)
51 s = Sequencer.objects.get(pk=old_default.id)
52 s.name = "Primary Key 1"
55 total = Sequencer.objects.filter(isdefault=True).count()
56 self.assertEqual(total, 1)
58 new_default = sequencer_default()
59 self.assertEqual(old_default, new_default)
63 from unittest import TestSuite, defaultTestLoader
65 suite.addTests(defaultTestLoader.loadTestsFromTestCase(SequencerTestCase))
68 if __name__ == "__main__":
69 from unittest import main
70 main(defaultTest="suite")