def test_k__too_big(self): with self.assertRaises(ValueError): __unit__.k_subsets(self.TWO_ELEMS_SET, len(self.TWO_ELEMS_SET) + 1)
def test_k__one(self): self.assertItemsEqual([set((x, )) for x in self.TWO_ELEMS_SET], __unit__.k_subsets(self.TWO_ELEMS_SET, 1))
def test_k__positive(self): self.assertItemsEqual([self.TWO_ELEMS_SET], __unit__.k_subsets(self.TWO_ELEMS_SET, 2))
def test_k__negative(self): with self.assertRaises(ValueError): __unit__.k_subsets(self.TWO_ELEMS_SET, -1)
def test_k__zero(self): self.assertItemsEqual([set()], __unit__.k_subsets(set(), 0)) self.assertItemsEqual([set()], __unit__.k_subsets(self.TWO_ELEMS_SET, 0))
def test_k__none(self): with self.assertRaises(TypeError): __unit__.k_subsets(self.TWO_ELEMS_SET, None)
def test_k__some_object(self): with self.assertRaises(TypeError): __unit__.k_subsets(self.TWO_ELEMS_SET, object())
def test_set__singleton_set(self): set_ = set([42]) self.assertItemsEqual([set_], __unit__.k_subsets(set_, 1))
def test_set__singleton_iterable(self): self.assertItemsEqual([(42, )], __unit__.k_subsets([42], 1))
def test_set__empty_iterable(self): self.assertItemsEqual([()], __unit__.k_subsets([], 0))
def test_set__some_object(self): with self.assertRaises(TypeError): __unit__.k_subsets(object(), 1)
def test_set__none(self): with self.assertRaises(TypeError): __unit__.k_subsets(None, 1)