Beispiel #1
0
class TestTagging(unittest.TestCase):
    def setUp(self):
        self.client = Redis(decode_responses=True)
        self.client.flushdb()

        self.article_tags = Tagging(self.client, "article::123")

    def test_add_and_is_included(self):
        self.assertFalse(self.article_tags.is_included("redis"))
        self.article_tags.add("redis")
        self.assertTrue(self.article_tags.is_included("redis"))

    def test_add_multi_element_in_once(self):
        self.article_tags.add("redis", "database", "nosql")
        self.assertTrue(self.article_tags.is_included("redis"))
        self.assertTrue(self.article_tags.is_included("database"))
        self.assertTrue(self.article_tags.is_included("nosql"))

    def test_remove(self):
        self.article_tags.add("redis")
        self.article_tags.remove("redis")
        self.assertFalse(self.article_tags.is_included("redis"))

    def test_remove_multi_elements_in_once(self):
        self.article_tags.add("redis", "database", "nosql")
        self.article_tags.remove("redis", "database", "nosql")
        self.assertFalse(self.article_tags.is_included("redis"))
        self.assertFalse(self.article_tags.is_included("database"))
        self.assertFalse(self.article_tags.is_included("nosql"))

    def test_get_all_tags(self):
        self.assertEqual(self.article_tags.get_all_tags(), set())
        self.article_tags.add("redis", "database", "nosql")
        self.assertEqual(self.article_tags.get_all_tags(),
                         {"redis", "database", "nosql"})

    def test_count(self):
        self.assertEqual(self.article_tags.count(), 0)
        self.article_tags.add("redis")
        self.assertEqual(self.article_tags.count(), 1)