def test_add(self): group = Group() comp = ExecComp('y=x*2.0') group.add('mycomp', comp) subs = list(group.subsystems()) self.assertEqual(len(subs), 1) self.assertEqual(subs[0], comp) self.assertEqual(subs[0].name, 'mycomp') comp2 = ExecComp('y=x*2.0') group.add("nextcomp", comp2) subs = list(group.subsystems()) self.assertEqual(len(subs), 2) self.assertEqual(subs[0], comp) self.assertEqual(subs[1], comp2) with self.assertRaises(RuntimeError) as cm: group.add('mycomp', comp) expected_msg = "Group '' already contains a subsystem with name 'mycomp'." self.assertEqual(str(cm.exception), expected_msg)