Beispiel #1
0
    def test(self):
        def func(cur_tuple, models, field):
            dic = dict(cur_tuple)
            keys = dic.keys()
            if not 'fieldD' in keys:
                return True
            elif dic['fieldD'] % 3 != 1:
                return False
            if not ('fieldE' in keys and 'fieldH' in keys):
                return True
            elif dic['fieldE'] ^ dic['fieldH']:
                return False
            return True

        dfs.size = 30
        dfs.total = 0
        to_be_computed = []
        cur_tup = [('fieldA', 'X'), ('fieldB', 199), ('fieldC', 'general')]
        unique_together = TestModelFieldsTwo._meta.unique_together
        unique = list(unique_together)
        unique = sort_unique_tuples(unique, TestModelFieldsTwo)
        unique_constraints = [unique_items(un_tuple) for un_tuple in unique]
        constraints = [func] + unique_constraints
        dfs(30, cur_tup, 4, to_be_computed, constraints,
            TestModelFieldsTwo, False)
        self.assertEqual(len(list(TestModelFieldsTwo.objects.all())), 30)
        for mdl in list(TestModelFieldsTwo.objects.all()):
            self.assertEqual(mdl.fieldA, 'X')
            self.assertEqual(mdl.fieldB, 199)
            self.assertEqual(mdl.fieldC, 'general')
            self.assertTrue(mdl.fieldD in [13, 19, 31, 43])
            self.assertTrue(mdl.fieldF in [6, 28, 496, 8128, 33550336])
            self.assertTrue(mdl.fieldG in ['Mathematics', 'Physics',
                                           'Chemistry', 'Biology'])
            self.assertTrue(not (mdl.fieldE ^ mdl.fieldH))
Beispiel #2
0
 def test(self):
     self.assertEqual(sort_unique_tuples((('fieldA',), ('fieldA', 'fieldD'),
                                          ('fieldC', 'fieldX', 'fieldB'),
                                          ('fieldC', 'fieldE', 'fieldH'),
                                          ('fieldA', 'fieldX', 'fieldC')),
                                         TestModelFields),
                      (('fieldA',), ('fieldA', 'fieldC', 'fieldX'),
                       ('fieldA', 'fieldD'), ('fieldB', 'fieldC', 'fieldX'),
                       ('fieldC', 'fieldE', 'fieldH')))
     self.assertEqual(sort_unique_tuples((('fieldA', 'fieldD'),
                                          ('fieldA', 'fieldE', 'fieldX')),
                                         TestModelFields),
                      (('fieldA', 'fieldD'),
                       ('fieldA', 'fieldE', 'fieldX')))
     self.assertEqual(sort_unique_tuples((('fieldA', 'fieldE', 'fieldX'),
                                          ('fieldA', 'fieldD')),
                                         TestModelFields),
                      (('fieldA', 'fieldD'),
                       ('fieldA', 'fieldE', 'fieldX')))
     self.assertEqual(sort_unique_tuples((('fieldA', 'fieldD', 'fieldX'),
                                          ('fieldA', 'fieldD')),
                                         TestModelFields),
                      (('fieldA', 'fieldD'),
                       ('fieldA', 'fieldD', 'fieldX')))
     self.assertEqual(sort_unique_tuples((('fieldA', 'fieldE'),
                                          ('fieldA', 'fieldE', 'fieldX')),
                                         TestModelFields),
                      (('fieldA', 'fieldE'),
                       ('fieldA', 'fieldE', 'fieldX')))
     self.assertEqual(sort_unique_tuples((('fieldA', 'fieldD'),
                                          ('fieldA', 'fieldD')),
                                         TestModelFields),
                      (('fieldA', 'fieldD'), ('fieldA', 'fieldD')))