def test_flags_empty_set(self):
        s = Multiset()

        self.assertEqual(s.cached_relation, CacheStatus.IS_NOT)
        self.assertEqual(s.cached_clan, CacheStatus.IS_NOT)
        self.assertEqual(s.cached_multiclan, CacheStatus.IS)
        self.assertEqual(s.cached_functional, CacheStatus.IS)
        self.assertEqual(s.cached_right_functional, CacheStatus.IS)
        self.assertEqual(s.cached_regular, CacheStatus.IS)
        self.assertEqual(s.cached_reflexive, CacheStatus.IS)
        self.assertEqual(s.cached_symmetric, CacheStatus.IS)
        self.assertEqual(s.cached_transitive, CacheStatus.IS)

        self.assertRaises(AssertionError, lambda: s.cache_relation(CacheStatus.IS))
        self.assertRaises(AssertionError, lambda: s.cache_clan(CacheStatus.IS))
        self.assertRaises(AssertionError, lambda: s.cache_multiclan(CacheStatus.IS_NOT))
        s.cache_multiclan(CacheStatus.IS)

        self.assertRaises(Exception, lambda: s.cache_transitive(CacheStatus.IS_NOT))
        self.assertRaises(Exception, lambda: s.cache_functional(CacheStatus.IS_NOT))
        self.assertRaises(Exception, lambda: s.cache_right_functional(CacheStatus.IS_NOT))
        self.assertRaises(Exception, lambda: s.cache_regular(CacheStatus.IS_NOT))
        self.assertRaises(Exception, lambda: s.cache_reflexive(CacheStatus.IS_NOT))
        self.assertRaises(Exception, lambda: s.cache_symmetric(CacheStatus.IS_NOT))
        self.assertRaises(Exception, lambda: s.cache_transitive(CacheStatus.IS_NOT))
    def test_flags_empty_set(self):
        s = Multiset()

        self.assertEqual(s.cached_relation, CacheStatus.IS_NOT)
        self.assertEqual(s.cached_clan, CacheStatus.IS_NOT)
        self.assertEqual(s.cached_multiclan, CacheStatus.IS)
        self.assertEqual(s.cached_functional, CacheStatus.IS)
        self.assertEqual(s.cached_right_functional, CacheStatus.IS)
        self.assertEqual(s.cached_regular, CacheStatus.IS)
        self.assertEqual(s.cached_reflexive, CacheStatus.IS)
        self.assertEqual(s.cached_symmetric, CacheStatus.IS)
        self.assertEqual(s.cached_transitive, CacheStatus.IS)

        self.assertRaises(AssertionError,
                          lambda: s.cache_relation(CacheStatus.IS))
        self.assertRaises(AssertionError, lambda: s.cache_clan(CacheStatus.IS))
        self.assertRaises(AssertionError,
                          lambda: s.cache_multiclan(CacheStatus.IS_NOT))
        s.cache_multiclan(CacheStatus.IS)

        self.assertRaises(Exception,
                          lambda: s.cache_transitive(CacheStatus.IS_NOT))
        self.assertRaises(Exception,
                          lambda: s.cache_functional(CacheStatus.IS_NOT))
        self.assertRaises(Exception,
                          lambda: s.cache_right_functional(CacheStatus.IS_NOT))
        self.assertRaises(Exception,
                          lambda: s.cache_regular(CacheStatus.IS_NOT))
        self.assertRaises(Exception,
                          lambda: s.cache_reflexive(CacheStatus.IS_NOT))
        self.assertRaises(Exception,
                          lambda: s.cache_symmetric(CacheStatus.IS_NOT))
        self.assertRaises(Exception,
                          lambda: s.cache_transitive(CacheStatus.IS_NOT))