def test_creation(self): v_dict = VarsDict() # VarsDict has one entry for each label in VAR_NAMES self.assertEqual(len(v_dict.keys()), len(VAR_NAMES)) for key in v_dict.keys(): self.assertIn(key, VAR_NAMES) # Each entry is an empty OrderedSet self.assertIsNotNone(v_dict[key]) self.assertIsInstance(v_dict[key], OrderedSet) self.assertEqual(len(v_dict[key]), 0) self.assert_consistency(v_dict)
def test_intersection(self): v_dict_list = [] RANGE = 10 for i in range(RANGE): v_dict = VarsDict() # Add something common to each field, as well as a unique entry for key in v_dict.keys(): v_dict[key].add(key.lower()) v_dict[key].add(str(i)) self.assert_consistency(v_dict) v_dict_list.append(v_dict) intersection = vars_dict_lib.intersect(v_dict_list) self.assert_consistency(intersection) for key in intersection.keys(): # Each field had one common item self.assertEqual(len(intersection[key]), 1) for item in intersection[key]: for other_v_dict in v_dict_list: self.assertNotIn(item, other_v_dict[key])
def setUp(self): self.__vars_dict = VarsDict()