def test_class(self): # Setup settings = Settings() members = [create_contact(n) for n in ['Alice', 'Bob', 'Charlie']] sg_mock = lambda: None group = Group('testgroup', False, False, members, settings, sg_mock) # Test for c in group: self.assertIsInstance(c, Contact) self.assertEqual(len(group), 3) bytestring = group.dump_g() self.assertIsInstance(bytestring, bytes) self.assertEqual(len(bytestring), 1024 + 2 + (20 * 1024)) self.assertEqual( group.get_list_of_member_accounts(), ['*****@*****.**', '*****@*****.**', '*****@*****.**']) self.assertEqual(group.get_list_of_member_nicks(), ['Alice', 'Bob', 'Charlie']) self.assertTrue(group.has_members()) self.assertFalse(group.has_member('*****@*****.**')) group.add_members([create_contact(n) for n in ['David']]) self.assertTrue(group.has_member('*****@*****.**')) self.assertFalse(group.remove_members(['*****@*****.**'])) self.assertTrue(group.remove_members(['*****@*****.**'])) self.assertFalse(group.has_member('*****@*****.**')) # Teardown cleanup()
class TestGroup(unittest.TestCase): def setUp(self): members = list(map(create_contact, ['Alice', 'Bob', 'Charlie'])) self.settings = Settings() self.group = Group('testgroup', False, False, members, self.settings, lambda: None) def tearDown(self): cleanup() def test_group_iterates_over_contact_objects(self): for c in self.group: self.assertIsInstance(c, Contact) def test_len_returns_number_of_members(self): self.assertEqual(len(self.group), 3) def test_serialize_g(self): serialized = self.group.serialize_g() self.assertIsInstance(serialized, bytes) self.assertEqual(len(serialized), PADDED_UTF32_STR_LEN + (2 * BOOLEAN_SETTING_LEN) + (self.settings.max_number_of_group_members * PADDED_UTF32_STR_LEN)) def test_add_members(self): self.group.members = [] self.assertFalse(self.group.has_member('*****@*****.**')) self.assertFalse(self.group.has_member('*****@*****.**')) self.group.add_members([create_contact(n) for n in ['David', 'Eric']]) self.assertTrue(self.group.has_member('*****@*****.**')) self.assertTrue(self.group.has_member('*****@*****.**')) def test_remove_members(self): self.assertTrue(self.group.has_member('*****@*****.**')) self.assertTrue(self.group.has_member('*****@*****.**')) self.assertTrue(self.group.has_member('*****@*****.**')) self.assertTrue(self.group.remove_members(['*****@*****.**', '*****@*****.**'])) self.assertFalse(self.group.remove_members(['*****@*****.**', '*****@*****.**'])) self.assertTrue(self.group.has_member('*****@*****.**')) self.assertTrue(self.group.has_member('*****@*****.**')) self.assertFalse(self.group.has_member('*****@*****.**')) def test_get_list_of_member_accounts(self): self.assertEqual(self.group.get_list_of_member_accounts(), ['*****@*****.**', '*****@*****.**', '*****@*****.**']) def test_get_list_of_member_nicks(self): self.assertEqual(self.group.get_list_of_member_nicks(), ['Alice', 'Bob', 'Charlie']) def test_has_member(self): self.assertTrue(self.group.has_member('*****@*****.**')) self.assertFalse(self.group.has_member('*****@*****.**')) def test_has_members(self): self.assertTrue(self.group.has_members()) self.group.members = [] self.assertFalse(self.group.has_members())