def test_instance_one_item_vendor_key_true_value(self): tags = IrcMessageTagsReadOnly(['turbo/miniK']) self.assertEqual(len(tags), 1) self.assertEqual(tags['turbo/miniK'], True) self.assertEqual(tags, {'turbo/miniK': True}) self.assertEqual(tags, {IrcMessageTagsKey('miniK', 'turbo'): True}) self.assertEqual( tags, IrcMessageTagsReadOnly([IrcMessageTagsKey('miniK', 'turbo')]))
def test_instance_multi_items(self): tags = IrcMessageTagsReadOnly([ 'KevinTurtle', IrcMessageTagsKey('PraiseIt'), ['Kappa', 'Keepo'], [IrcMessageTagsKey('SwiftRage'), 'DansGame'] ]) self.assertEqual(len(tags), 4) self.assertEqual(tags['KevinTurtle'], True) self.assertEqual(tags['PraiseIt'], True) self.assertEqual(tags[IrcMessageTagsKey('Kappa')], 'Keepo') self.assertEqual(tags[IrcMessageTagsKey('SwiftRage')], 'DansGame')
def test_instance_one_item_key_str_value(self): tags = IrcMessageTagsReadOnly({'Kappa': 'KappaHD'}) self.assertEqual(len(tags), 1) self.assertTrue(tags) self.assertIn('Kappa', tags) self.assertIn(IrcMessageTagsKey('Kappa'), tags) self.assertEqual(tags['Kappa'], 'KappaHD') self.assertEqual(tags[IrcMessageTagsKey('Kappa')], 'KappaHD') self.assertEqual( tags, IrcMessageTagsReadOnly([[IrcMessageTagsKey('Kappa'), 'KappaHD']])) self.assertEqual(tags, {'Kappa': 'KappaHD'})
def test_instaance_one_item_mapping_methods(self): tags = IrcMessageTagsReadOnly(['Kappa']) self.assertEqual(tags, tags) self.assertEqual(tags, IrcMessageTagsReadOnly({'Kappa': True})) self.assertEqual(tags, {'Kappa': True}) self.assertEqual(len(tags.keys()), 1) self.assertEqual(len(tags.values()), 1) self.assertEqual(len(tags.items()), 1) self.assertIn('Kappa', tags.keys()) self.assertIn(IrcMessageTagsKey('Kappa'), tags.keys()) self.assertIn(True, tags.values()) self.assertIn(('Kappa', True), tags.items()) self.assertIn((IrcMessageTagsKey('Kappa'), True), tags.items()) keyIter = iter(tags) self.assertEqual(next(keyIter), 'Kappa') self.assertRaises(StopIteration, next, keyIter)
def test_empty_instance(self): tags = IrcMessageTagsReadOnly() self.assertEqual(len(tags), 0) self.assertFalse(tags) self.assertNotIn('Kappa', tags) self.assertNotIn(IrcMessageTagsKey('Kappa'), tags) self.assertEqual(str(tags), '') self.assertEqual(tags, IrcMessageTagsReadOnly(None)) self.assertEqual(tags, {})
def test_instance_two_items(self): tags = IrcMessageTagsReadOnly( ['KevinTurtle', [IrcMessageTagsKey('KreyGasm'), 'PogChamp ']]) self.assertEqual(len(tags), 2) self.assertTrue(tags) self.assertIn('KevinTurtle', tags) self.assertIn(IrcMessageTagsKey('KreyGasm'), tags) self.assertEqual(tags[IrcMessageTagsKey('KevinTurtle')], True) self.assertEqual(tags['KreyGasm'], 'PogChamp ') strTags = str(tags) self.assertIn(strTags, [ r'KevinTurtle;KreyGasm=PogChamp\s', r'KreyGasm=PogChamp\s;KevinTurtle' ]) self.assertEqual( tags, IrcMessageTagsReadOnly({ IrcMessageTagsKey('KevinTurtle'): True, 'KreyGasm': 'PogChamp ' }))
def test_parse(self): self.assertEqual(IrcMessageTagsKey.parse(''), ParsedKeyVendor('', None))
def test_parse_key(self): self.assertEqual(IrcMessageTagsKey.parse('Kreygasm'), ParsedKeyVendor('Kreygasm', None))
def test_equals_key(self): self.assertEqual(IrcMessageTagsKey.fromKeyVendor('abc'), IrcMessageTagsKey(key='abc'))
def test_from_str_key_vendor_domain(self): key = IrcMessageTagsKey.fromKeyVendor('DansGame.com/SwiftRage') self.assertEqual(key.vendor, 'DansGame.com') self.assertEqual(key.key, 'SwiftRage')
def test_constructor_tagkey(self): self.assertRaises(TypeError, IrcMessageTagsReadOnly, IrcMessageTagsKey())
def test_fromkey_str_vendor(self): key = IrcMessageTagsReadOnly.fromKey('Kappa/Keepo') self.assertEqual(key, IrcMessageTagsKey('Keepo', 'Kappa')) self.assertEqual(key, 'Kappa/Keepo')
def test_constructor_key(self): key = IrcMessageTagsKey(key='Kappa') self.assertEqual(key.vendor, None) self.assertEqual(key.key, 'Kappa')
def test_magic_str_vendor(self): key = IrcMessageTagsKey(vendor='Keepo') self.assertEqual(str(key), 'Keepo/')
def test_magic_str_key(self): key = IrcMessageTagsKey(key='Kappa') self.assertEqual(str(key), 'Kappa')
def test_magic_str_empty(self): key = IrcMessageTagsKey() self.assertEqual(str(key), '')
def test_constructor_keywords(self): key = IrcMessageTagsKey(vendor='Keepo', key='Kappa') self.assertEqual(key.vendor, 'Keepo') self.assertEqual(key.key, 'Kappa')
def test_constructor_vendor(self): key = IrcMessageTagsKey(vendor='Kappa') self.assertEqual(key.vendor, 'Kappa') self.assertEqual(key.key, '')
def test_constructor_key_vendor(self): key = IrcMessageTagsKey('Kappa', 'Keepo') self.assertEqual(key.vendor, 'Keepo') self.assertEqual(key.key, 'Kappa')
def test_empty_constructor(self): key = IrcMessageTagsKey() self.assertEqual(key.vendor, None) self.assertEqual(key.key, '')
def test_fromkey_str_empty(self): key = IrcMessageTagsReadOnly.fromKey('') self.assertIsInstance(key, IrcMessageTagsKey) self.assertEqual(key, IrcMessageTagsKey()) self.assertEqual(key, '')
def test_index_missing_tagskey(self): tags = IrcMessageTagsReadOnly() with self.assertRaises(KeyError): tags[IrcMessageTagsKey('Kappa')]
def test_str_magic_one_item_with_value(self): self.assertEqual( str( IrcMessageTagsReadOnly( [IrcMessageTagsKey(vendor='twitch.tv', key='KappaHD')])), 'twitch.tv/KappaHD')
def test_hash(self): key = IrcMessageTagsKey() self.assertIsInstance(hash(key), int) self.assertIsInstance(key, HashableAbc) self.assertIsInstance(key, Hashable)
def test_fromkey_key(self): key = IrcMessageTagsKey() self.assertIs(IrcMessageTagsReadOnly.fromKey(key), key)
def test_from_str_key_numbers(self): key = IrcMessageTagsKey.fromKeyVendor('123') self.assertEqual(key.vendor, None) self.assertEqual(key.key, '123')
def test_from_str_empty(self): key = IrcMessageTagsKey.fromKeyVendor('') self.assertEqual(key.vendor, None) self.assertEqual(key.key, '')
def test_parse_key_venor_domain(self): self.assertEqual(IrcMessageTagsKey.parse('PogChamp/Kreygasm'), ParsedKeyVendor('Kreygasm', 'PogChamp'))
def test_from_str_key(self): key = IrcMessageTagsKey.fromKeyVendor('DansGame') self.assertEqual(key.vendor, None) self.assertEqual(key.key, 'DansGame')
def test_not_equals_key_vendor(self): self.assertNotEqual( IrcMessageTagsKey.fromKeyVendor('OpieOP.SoBayed/PJSalt'), IrcMessageTagsKey(vendor='SoBayed.PJSalt', key='OpieOP'))