'Modes which require parameters are parsed and paired with their relevant
parameter, modes which do not require parameters do not consume any of
the parameters.'

def test_parameters(self):

    (added, removed) = irc.parseModes('+klbb', ['somekey', '42', 'nick!user@host', 'other!*@*'], self.paramModes)
    self.assertEqual(added, [('k', 'somekey'), ('l', '42'), ('b', 'nick!user@host'), ('b', 'other!*@*')])
    self.assertEqual(removed, [])
    (added, removed) = irc.parseModes('-klbb', ['nick!user@host', 'other!*@*'], self.paramModes)
    self.assertEqual(added, [])
    self.assertEqual(removed, [('k', None), ('l', None), ('b', 'nick!user@host'), ('b', 'other!*@*')])
    (added, removed) = irc.parseModes('+knbb', ['somekey', 'nick!user@host', 'other!*@*'], self.paramModes)
    self.assertEqual(added, [('k', 'somekey'), ('n', None), ('b', 'nick!user@host'), ('b', 'other!*@*')])
    self.assertEqual(removed, [])
