def test_add(self):
        sc = ISubscriptionContainer(self.root)
        self.assertEqual(sc._next_id, 1)

        sub1 = AccountSubscription('gigel', 'instant', 'en')
        sub2 = AccountSubscription('user2', 'instant', 'en')
        sub3 = AnonymousSubscription(email='*****@*****.**',
                                     location='', notif_type='instant',
                                     lang='en', content_types=[])
        sc.add(sub1)
        sc.add(sub2)
        sc.add(sub3)

        subs = list(sc)
        self.assertEqual(len(subs), 3)
        self.assertTrue(subs[0] is sub1)
        self.assertTrue(subs[1] is sub2)
        self.assertTrue(subs[2] is sub3)

        enum = dict(sc.list_with_keys())
        self.assertEqual(enum.keys(), [1, 2, 3])
        self.assertTrue(enum[1] is sub1)
        self.assertTrue(enum[2] is sub2)
        self.assertTrue(enum[3] is sub3)
        self.assertEqual(sc._next_id, 4)
    def test_add(self):
        sc = ISubscriptionContainer(self.root)
        self.assertEqual(sc._next_id, 1)

        sub1 = AccountSubscription('gigel', 'instant', 'en')
        sub2 = AccountSubscription('user2', 'instant', 'en')
        sub3 = AnonymousSubscription(email='*****@*****.**',
                                     location='',
                                     notif_type='instant',
                                     lang='en',
                                     content_types=[])
        sc.add(sub1)
        sc.add(sub2)
        sc.add(sub3)

        subs = list(sc)
        self.assertEqual(len(subs), 3)
        self.assertTrue(subs[0] is sub1)
        self.assertTrue(subs[1] is sub2)
        self.assertTrue(subs[2] is sub3)

        enum = dict(sc.list_with_keys())
        self.assertEqual(enum.keys(), [1, 2, 3])
        self.assertTrue(enum[1] is sub1)
        self.assertTrue(enum[2] is sub2)
        self.assertTrue(enum[3] is sub3)
        self.assertEqual(sc._next_id, 4)
    def test_remove(self):
        sc = ISubscriptionContainer(self.root)
        sub1 = AccountSubscription('user1', 'instant', 'en')
        sub2 = AccountSubscription('user2', 'instant', 'en')
        sc.add(sub1)
        sc.add(sub2)
        self.assertEqual(len(list(sc)), 2)

        enum = dict(sc.list_with_keys())
        self.assertTrue(enum[1] is sub1)

        sc.remove(1)
        self.assertEqual(len(list(sc)), 1)
        self.assertTrue(list(sc)[0] is sub2)
    def test_remove(self):
        sc = ISubscriptionContainer(self.root)
        sub1 = AccountSubscription('user1', 'instant', 'en')
        sub2 = AccountSubscription('user2', 'instant', 'en')
        sc.add(sub1)
        sc.add(sub2)
        self.assertEqual(len(list(sc)), 2)

        enum = dict(sc.list_with_keys())
        self.assertTrue(enum[1] is sub1)

        sc.remove(1)
        self.assertEqual(len(list(sc)), 1)
        self.assertTrue(list(sc)[0] is sub2)
    def test_add(self):
        sc = ISubscriptionContainer(self.root)
        self.assertEqual(sc._next_id, 1)

        sub1 = AccountSubscription('gigel', 'instant', 'en')
        sub2 = AccountSubscription('user2', 'instant', 'en')
        sc.add(sub1)
        sc.add(sub2)

        subs = list(sc)
        self.assertEqual(len(subs), 2)
        self.assertTrue(subs[0] is sub1)
        self.assertTrue(subs[1] is sub2)

        enum = dict(sc.list_with_keys())
        self.assertEqual(enum.keys(), [1, 2])
        self.assertTrue(enum[1] is sub1)
        self.assertTrue(enum[2] is sub2)
        self.assertEqual(sc._next_id, 3)