'Test get_id'

def test_get_id(self):

    test_cases = {None: u'', 123: u'123', 12.3: u'12_3', 0: u'', (-123): u'_123', (-12.3): u'_12_3', u'': u'', u'    ': u'', u'123': u'123', u'    123    ': u'123', u'12.3': u'12_3', u'    12.3    ': u'12_3', u'0': u'0', u'    0    ': u'0', u'-123': u'_123', u'    -123    ': u'_123', u'-12.3': u'_12_3', u'    -12.3    ': u'_12_3', u'abc': u'abc', u'    abc    ': u'abc', u'ABC': u'abc', u'    ABC    ': u'abc', u'.def': u'_def', u'g,hi': u'g_hi', u'jk!l': u'jk_l', u'mno?': u'mno_', u'_pqr$': u'_pqr_'}
    unicode_test_cases = {u'': u'', u'    ': u'', u'123': u'123', u'    123    ': u'123', u'12.3': u'12_3', u'    12.3    ': u'12_3', u'0': u'0', u'    0    ': u'0', u'-123': u'_123', u'    -123    ': u'_123', u'-12.3': u'_12_3', u'    -12.3    ': u'_12_3', u'abc': u'abc', u'    abc    ': u'abc', u'ABC': u'abc', u'    ABC    ': u'abc', u'.def': u'_def', u'g,hi': u'g_hi', u'jk!l': u'jk_l', u'mno?': u'mno_', u'_pqr$': u'_pqr_'}
    for test in (test_cases, unicode_test_cases):
        for (name, result) in six.iteritems(test):
            self.assertEqual(GenericProvider(name).get_id(), result)
