def test_set_parent(self):
     self.__create_cat_tree()
     a = self.__get_cat(name='a')
     aa = self.__get_cat(name='aa')
     aaa = self.__get_cat(name='aaa')
     aaaa = self.__get_cat(name='aaaa')
     b = self.__get_cat(name='b')
     c = self.__get_cat(name='c')
     d = self.__get_cat(name='d')
     e = self.__get_cat(name='e')
     f = self.__get_cat(name='f')
     with self.assertRaises(ValueError):
         a.set_parent(a)
     # with self.assertRaises(ValueError):
     #     a.set_parent(aa)
     d.set_parent(c)
     e.set_parent(c)
     f.set_parent(c)
     self.assertEqual(d.tn_ancestors_pks, join_pks([c.pk]))
     self.assertEqual(d.get_parent(), c)
     self.assertEqual(e.tn_ancestors_pks, join_pks([c.pk]))
     self.assertEqual(e.get_parent(), c)
     self.assertEqual(f.tn_ancestors_pks, join_pks([c.pk]))
     self.assertEqual(f.get_parent(), c)
     self.assertEqual(c.tn_children_pks, join_pks([d.pk, e.pk, f.pk]))
     self.assertEqual(c.get_children(), [d, e, f])
Ejemplo n.º 2
0
 def test_set_parent(self):
     self.__create_cat_tree()
     a = self.__get_cat(name="a")
     aa = self.__get_cat(name="aa")
     aaa = self.__get_cat(name="aaa")
     aaaa = self.__get_cat(name="aaaa")
     b = self.__get_cat(name="b")
     c = self.__get_cat(name="c")
     d = self.__get_cat(name="d")
     e = self.__get_cat(name="e")
     f = self.__get_cat(name="f")
     with self.assertRaises(ValueError):
         a.set_parent(a)
     # with self.assertRaises(ValueError):
     #     a.set_parent(aa)
     d.set_parent(c)
     e.set_parent(c)
     f.set_parent(c)
     self.assertEqual(d.tn_ancestors_pks, join_pks([c.pk]))
     self.assertEqual(d.get_parent(), c)
     self.assertEqual(e.tn_ancestors_pks, join_pks([c.pk]))
     self.assertEqual(e.get_parent(), c)
     self.assertEqual(f.tn_ancestors_pks, join_pks([c.pk]))
     self.assertEqual(f.get_parent(), c)
     self.assertEqual(c.tn_children_pks, join_pks([d.pk, e.pk, f.pk]))
     self.assertEqual(c.get_children(), [d, e, f])
Ejemplo n.º 3
0
 def test_join_pks(self):
     s = join_pks(None)
     self.assertEqual(s, "")
     s = join_pks([])
     self.assertEqual(s, "")
     s = join_pks([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
     self.assertEqual(s, "0,1,2,3,4,5,6,7,8,9,10")
Ejemplo n.º 4
0
 def test_get_ancestors(self):
     self.__create_cat_tree()
     a = self.__get_cat(name='a')
     aa = self.__get_cat(name='aa')
     aaa = self.__get_cat(name='aaa')
     aaaa = self.__get_cat(name='aaaa')
     self.assertEqual(aaaa.tn_ancestors_pks, join_pks([a.pk, aa.pk, aaa.pk]))
     self.assertEqual(aaaa.get_ancestors(), [a, aa, aaa])
Ejemplo n.º 5
0
 def test_update_on_create(self):
     a = self.__create_cat(name="a")
     self.assertEqual(a.tn_children_pks, "")
     self.assertEqual(a.tn_ancestors_pks, "")
     self.assertEqual(a.tn_siblings_pks, "")
     self.assertEqual(a.tn_depth, 0)
     self.assertEqual(a.tn_index, 0)
     self.assertEqual(a.tn_level, 1)
     b = self.__create_cat(name="b")
     c = self.__create_cat(name="c")
     self.assertEqual(a.tn_children_pks, "")
     self.assertEqual(a.tn_ancestors_pks, "")
     self.assertEqual(a.tn_siblings_pks, join_pks([b.pk, c.pk]))
     aa = self.__create_cat(name="aa", parent=a)
     ab = self.__create_cat(name="ab", parent=a)
     ac = self.__create_cat(name="ac", parent=a)
     self.assertEqual(a.tn_children_pks, join_pks([aa.pk, ab.pk, ac.pk]))
     self.assertEqual(a.tn_depth, 1)
 def test_update_on_create(self):
     a = self.__create_cat(name='a')
     self.assertEqual(a.tn_children_pks, '')
     self.assertEqual(a.tn_ancestors_pks, '')
     self.assertEqual(a.tn_siblings_pks, '')
     self.assertEqual(a.tn_depth, 0)
     self.assertEqual(a.tn_index, 0)
     self.assertEqual(a.tn_level, 1)
     b = self.__create_cat(name='b')
     c = self.__create_cat(name='c')
     self.assertEqual(a.tn_children_pks, '')
     self.assertEqual(a.tn_ancestors_pks, '')
     self.assertEqual(a.tn_siblings_pks, join_pks([b.pk, c.pk]))
     aa = self.__create_cat(name='aa', parent=a)
     ab = self.__create_cat(name='ab', parent=a)
     ac = self.__create_cat(name='ac', parent=a)
     self.assertEqual(a.tn_children_pks, join_pks([aa.pk, ab.pk, ac.pk]))
     self.assertEqual(a.tn_depth, 1)
Ejemplo n.º 7
0
 def test_get_children(self):
     self.__create_cat_tree()
     a = self.__get_cat(name='a')
     aa = self.__get_cat(name='aa')
     ab = self.__get_cat(name='ab')
     ac = self.__get_cat(name='ac')
     ad = self.__get_cat(name='ad')
     ae = self.__get_cat(name='ae')
     af = self.__get_cat(name='af')
     self.assertEqual(a.tn_children_pks, join_pks([aa.pk, ab.pk, ac.pk, ad.pk, ae.pk, af.pk]))
     self.assertEqual(a.get_children(), [aa, ab, ac, ad, ae, af])
Ejemplo n.º 8
0
 def test_get_children(self):
     self.__create_cat_tree()
     a = self.__get_cat(name="a")
     aa = self.__get_cat(name="aa")
     ab = self.__get_cat(name="ab")
     ac = self.__get_cat(name="ac")
     ad = self.__get_cat(name="ad")
     ae = self.__get_cat(name="ae")
     af = self.__get_cat(name="af")
     self.assertEqual(a.tn_children_pks,
                      join_pks([aa.pk, ab.pk, ac.pk, ad.pk, ae.pk, af.pk]))
     self.assertEqual(a.get_children(), [aa, ab, ac, ad, ae, af])
Ejemplo n.º 9
0
 def test_update_on_delete(self):
     self.__create_cat_tree()
     a = self.__get_cat(name="a")
     aa = self.__get_cat(name="aa")
     ab = self.__get_cat(name="ab")
     ac = self.__get_cat(name="ac")
     ad = self.__get_cat(name="ad")
     ae = self.__get_cat(name="ae")
     af = self.__get_cat(name="af")
     self._category_model.objects.filter(name="aa").delete()
     self.assertEqual(a.tn_children_pks,
                      join_pks([ab.pk, ac.pk, ad.pk, ae.pk, af.pk]))
     self.assertEqual(a.tn_children_count, 5)
     self.assertTrue(ab.is_first_child())
     self._category_model.objects.filter(name="ab").delete()
     self.assertEqual(a.tn_children_pks,
                      join_pks([ac.pk, ad.pk, ae.pk, af.pk]))
     self.assertEqual(a.tn_children_count, 4)
     self.assertTrue(ac.is_first_child())
     self._category_model.objects.filter(name="ac").delete()
     self.assertEqual(a.tn_children_pks, join_pks([ad.pk, ae.pk, af.pk]))
     self.assertEqual(a.tn_children_count, 3)
     self.assertTrue(ad.is_first_child())
     self._category_model.objects.filter(name="ad").delete()
     self.assertEqual(a.tn_children_pks, join_pks([ae.pk, af.pk]))
     self.assertEqual(a.tn_children_count, 2)
     self.assertTrue(ae.is_first_child())
     self._category_model.objects.filter(name="ae").delete()
     self.assertEqual(a.tn_children_pks, join_pks([af.pk]))
     self.assertEqual(a.tn_children_count, 1)
     self.assertTrue(af.is_first_child())
     self._category_model.objects.filter(name="af").delete()
     self.assertEqual(a.tn_children_pks, join_pks([]))
     self.assertEqual(a.tn_children_count, 0)
     self._category_model.objects.filter(name="a").delete()
     self._category_model.objects.filter(name="b").delete()
     self._category_model.objects.filter(name="c").delete()
     with self.assertRaises(self._category_model.DoesNotExist):
         a = self.__get_cat(name="a")
     with self.assertRaises(self._category_model.DoesNotExist):
         aa = self.__get_cat(name="aa")
     with self.assertRaises(self._category_model.DoesNotExist):
         aaa = self.__get_cat(name="aaa")
     with self.assertRaises(self._category_model.DoesNotExist):
         aaa = self.__get_cat(name="aaaa")
     with self.assertRaises(self._category_model.DoesNotExist):
         b = self.__get_cat(name="b")
     with self.assertRaises(self._category_model.DoesNotExist):
         c = self.__get_cat(name="c")
     d = self.__get_cat(name="d")
     self.assertTrue(d.is_first_child())
     self.assertEqual(d.get_siblings_count(), 2)
 def test_update_on_delete(self):
     self.__create_cat_tree()
     a = self.__get_cat(name='a')
     aa = self.__get_cat(name='aa')
     ab = self.__get_cat(name='ab')
     ac = self.__get_cat(name='ac')
     ad = self.__get_cat(name='ad')
     ae = self.__get_cat(name='ae')
     af = self.__get_cat(name='af')
     Category.objects.filter(name='aa').delete()
     self.assertEqual(a.tn_children_pks,
                      join_pks([ab.pk, ac.pk, ad.pk, ae.pk, af.pk]))
     self.assertEqual(a.tn_children_count, 5)
     self.assertTrue(ab.is_first_child())
     Category.objects.filter(name='ab').delete()
     self.assertEqual(a.tn_children_pks,
                      join_pks([ac.pk, ad.pk, ae.pk, af.pk]))
     self.assertEqual(a.tn_children_count, 4)
     self.assertTrue(ac.is_first_child())
     Category.objects.filter(name='ac').delete()
     self.assertEqual(a.tn_children_pks, join_pks([ad.pk, ae.pk, af.pk]))
     self.assertEqual(a.tn_children_count, 3)
     self.assertTrue(ad.is_first_child())
     Category.objects.filter(name='ad').delete()
     self.assertEqual(a.tn_children_pks, join_pks([ae.pk, af.pk]))
     self.assertEqual(a.tn_children_count, 2)
     self.assertTrue(ae.is_first_child())
     Category.objects.filter(name='ae').delete()
     self.assertEqual(a.tn_children_pks, join_pks([af.pk]))
     self.assertEqual(a.tn_children_count, 1)
     self.assertTrue(af.is_first_child())
     Category.objects.filter(name='af').delete()
     self.assertEqual(a.tn_children_pks, join_pks([]))
     self.assertEqual(a.tn_children_count, 0)
     Category.objects.filter(name='a').delete()
     Category.objects.filter(name='b').delete()
     Category.objects.filter(name='c').delete()
     with self.assertRaises(Category.DoesNotExist):
         a = self.__get_cat(name='a')
     with self.assertRaises(Category.DoesNotExist):
         aa = self.__get_cat(name='aa')
     with self.assertRaises(Category.DoesNotExist):
         aaa = self.__get_cat(name='aaa')
     with self.assertRaises(Category.DoesNotExist):
         aaa = self.__get_cat(name='aaaa')
     with self.assertRaises(Category.DoesNotExist):
         b = self.__get_cat(name='b')
     with self.assertRaises(Category.DoesNotExist):
         c = self.__get_cat(name='c')
     d = self.__get_cat(name='d')
     self.assertTrue(d.is_first_child())
     self.assertEqual(d.get_siblings_count(), 2)
Ejemplo n.º 11
0
 def test_get_siblings(self):
     self.__create_cat_tree()
     a = self.__get_cat(name="a")
     b = self.__get_cat(name="b")
     c = self.__get_cat(name="c")
     d = self.__get_cat(name="d")
     e = self.__get_cat(name="e")
     f = self.__get_cat(name="f")
     self.assertEqual(a.tn_siblings_pks,
                      join_pks([b.pk, c.pk, d.pk, e.pk, f.pk]))
     self.assertEqual(b.tn_siblings_pks,
                      join_pks([a.pk, c.pk, d.pk, e.pk, f.pk]))
     self.assertEqual(c.tn_siblings_pks,
                      join_pks([a.pk, b.pk, d.pk, e.pk, f.pk]))
     self.assertEqual(d.tn_siblings_pks,
                      join_pks([a.pk, b.pk, c.pk, e.pk, f.pk]))
     self.assertEqual(e.tn_siblings_pks,
                      join_pks([a.pk, b.pk, c.pk, d.pk, f.pk]))
     self.assertEqual(f.tn_siblings_pks,
                      join_pks([a.pk, b.pk, c.pk, d.pk, e.pk]))
     self.assertEqual(a.get_siblings(), [b, c, d, e, f])
     self.assertEqual(b.get_siblings(), [a, c, d, e, f])
     self.assertEqual(c.get_siblings(), [a, b, d, e, f])
     self.assertEqual(d.get_siblings(), [a, b, c, e, f])
     self.assertEqual(e.get_siblings(), [a, b, c, d, f])
     self.assertEqual(f.get_siblings(), [a, b, c, d, e])
     aa = self.__get_cat(name="aa")
     ab = self.__get_cat(name="ab")
     ac = self.__get_cat(name="ac")
     ad = self.__get_cat(name="ad")
     ae = self.__get_cat(name="ae")
     af = self.__get_cat(name="af")
     self.assertEqual(aa.tn_siblings_pks,
                      join_pks([ab.pk, ac.pk, ad.pk, ae.pk, af.pk]))
     self.assertEqual(ab.tn_siblings_pks,
                      join_pks([aa.pk, ac.pk, ad.pk, ae.pk, af.pk]))
     self.assertEqual(ac.tn_siblings_pks,
                      join_pks([aa.pk, ab.pk, ad.pk, ae.pk, af.pk]))
     self.assertEqual(ad.tn_siblings_pks,
                      join_pks([aa.pk, ab.pk, ac.pk, ae.pk, af.pk]))
     self.assertEqual(ae.tn_siblings_pks,
                      join_pks([aa.pk, ab.pk, ac.pk, ad.pk, af.pk]))
     self.assertEqual(af.tn_siblings_pks,
                      join_pks([aa.pk, ab.pk, ac.pk, ad.pk, ae.pk]))
     self.assertEqual(aa.get_siblings(), [ab, ac, ad, ae, af])
     self.assertEqual(ab.get_siblings(), [aa, ac, ad, ae, af])
     self.assertEqual(ac.get_siblings(), [aa, ab, ad, ae, af])
     self.assertEqual(ad.get_siblings(), [aa, ab, ac, ae, af])
     self.assertEqual(ae.get_siblings(), [aa, ab, ac, ad, af])
     self.assertEqual(af.get_siblings(), [aa, ab, ac, ad, ae])
 def test_get_siblings(self):
     self.__create_cat_tree()
     a = self.__get_cat(name='a')
     b = self.__get_cat(name='b')
     c = self.__get_cat(name='c')
     d = self.__get_cat(name='d')
     e = self.__get_cat(name='e')
     f = self.__get_cat(name='f')
     self.assertEqual(a.tn_siblings_pks,
                      join_pks([b.pk, c.pk, d.pk, e.pk, f.pk]))
     self.assertEqual(b.tn_siblings_pks,
                      join_pks([a.pk, c.pk, d.pk, e.pk, f.pk]))
     self.assertEqual(c.tn_siblings_pks,
                      join_pks([a.pk, b.pk, d.pk, e.pk, f.pk]))
     self.assertEqual(d.tn_siblings_pks,
                      join_pks([a.pk, b.pk, c.pk, e.pk, f.pk]))
     self.assertEqual(e.tn_siblings_pks,
                      join_pks([a.pk, b.pk, c.pk, d.pk, f.pk]))
     self.assertEqual(f.tn_siblings_pks,
                      join_pks([a.pk, b.pk, c.pk, d.pk, e.pk]))
     self.assertEqual(a.get_siblings(), [b, c, d, e, f])
     self.assertEqual(b.get_siblings(), [a, c, d, e, f])
     self.assertEqual(c.get_siblings(), [a, b, d, e, f])
     self.assertEqual(d.get_siblings(), [a, b, c, e, f])
     self.assertEqual(e.get_siblings(), [a, b, c, d, f])
     self.assertEqual(f.get_siblings(), [a, b, c, d, e])
     aa = self.__get_cat(name='aa')
     ab = self.__get_cat(name='ab')
     ac = self.__get_cat(name='ac')
     ad = self.__get_cat(name='ad')
     ae = self.__get_cat(name='ae')
     af = self.__get_cat(name='af')
     self.assertEqual(aa.tn_siblings_pks,
                      join_pks([ab.pk, ac.pk, ad.pk, ae.pk, af.pk]))
     self.assertEqual(ab.tn_siblings_pks,
                      join_pks([aa.pk, ac.pk, ad.pk, ae.pk, af.pk]))
     self.assertEqual(ac.tn_siblings_pks,
                      join_pks([aa.pk, ab.pk, ad.pk, ae.pk, af.pk]))
     self.assertEqual(ad.tn_siblings_pks,
                      join_pks([aa.pk, ab.pk, ac.pk, ae.pk, af.pk]))
     self.assertEqual(ae.tn_siblings_pks,
                      join_pks([aa.pk, ab.pk, ac.pk, ad.pk, af.pk]))
     self.assertEqual(af.tn_siblings_pks,
                      join_pks([aa.pk, ab.pk, ac.pk, ad.pk, ae.pk]))
     self.assertEqual(aa.get_siblings(), [ab, ac, ad, ae, af])
     self.assertEqual(ab.get_siblings(), [aa, ac, ad, ae, af])
     self.assertEqual(ac.get_siblings(), [aa, ab, ad, ae, af])
     self.assertEqual(ad.get_siblings(), [aa, ab, ac, ae, af])
     self.assertEqual(ae.get_siblings(), [aa, ab, ac, ad, af])
     self.assertEqual(af.get_siblings(), [aa, ab, ac, ad, ae])