def test_cyclic(self): d = {} root = self._build_root(d) g2 = Group('g2', d) g3 = Group('g3', d) g2.add_groups('g3') self.assertRaises(ValueError, g2.add_groups, 'root') self.assertRaises(ValueError, g3.add_groups, 'g2') self.assertRaises(ValueError, g3.add_groups, 'root')
def test_members_including(self): d = {} root = self._build_root(d) g1 = Group('group1', d) g1.add_units('second', 'inch') g2 = Group('group2', d) g2.add_units('second', 'newton') g3 = Group('group3', d) g3.add_units('meter', 'second') g3.add_groups('group1', 'group2') self.assertEqual(root.members, frozenset(['meter', 'second', 'newton', 'inch'])) self.assertEqual(g1.members, frozenset(['second', 'inch'])) self.assertEqual(g2.members, frozenset(['second', 'newton'])) self.assertEqual(g3.members, frozenset(['meter', 'second', 'newton', 'inch']))