'Test replace extension'

def test_replace_extension(self):

    test_cases = {(None, None): None, (None, u''): None, (42, None): 42, (42, u''): 42, (u'', None): u'', (u'', u''): u'', (u'.', None): u'.', (u'.', u''): u'.', (u'.', u'avi'): u'.', (u'filename', None): u'filename', (u'filename', u''): u'filename', (u'filename', u'avi'): u'filename', (u'.bashrc', None): u'.bashrc', (u'.bashrc', u''): u'.bashrc', (u'.bashrc', u'avi'): u'.bashrc', (u'file.mkv', None): u'file.None', (u'file.mkv', u''): u'file.', (u'file.mkv', u'avi'): u'file.avi', (u'file.name.mkv', None): u'file.name.None', (u'file.name.mkv', u''): u'file.name.', (u'file.name.mkv', u'avi'): u'file.name.avi'}
    unicode_test_cases = {(None, u''): None, (42, u''): 42, (u'', u''): u'', (u'', None): u'', (u'', u''): u'', (u'', u''): u'', (u'.', u''): u'.', (u'.', u'avi'): u'.', (u'.', None): u'.', (u'.', u''): u'.', (u'.', u''): u'.', (u'.', u'avi'): u'.', (u'.', u'avi'): u'.', (u'filename', u''): u'filename', (u'filename', u'avi'): u'filename', (u'filename', None): u'filename', (u'filename', u''): u'filename', (u'filename', u''): u'filename', (u'filename', u'avi'): u'filename', (u'filename', u'avi'): u'filename', (u'.bashrc', u''): u'.bashrc', (u'.bashrc', u'avi'): u'.bashrc', (u'.bashrc', None): u'.bashrc', (u'.bashrc', u''): u'.bashrc', (u'.bashrc', u''): u'.bashrc', (u'.bashrc', u'avi'): u'.bashrc', (u'.bashrc', u'avi'): u'.bashrc', (u'file.mkv', u''): u'file.', (u'file.mkv', u'avi'): u'file.avi', (u'file.mkv', None): u'file.None', (u'file.mkv', u''): u'file.', (u'file.mkv', u''): u'file.', (u'file.mkv', u'avi'): u'file.avi', (u'file.mkv', u'avi'): u'file.avi', (u'file.name.mkv', u''): u'file.name.', (u'file.name.mkv', u'avi'): u'file.name.avi', (u'file.name.mkv', None): u'file.name.None', (u'file.name.mkv', u''): u'file.name.', (u'file.name.mkv', u''): u'file.name.', (u'file.name.mkv', u'avi'): u'file.name.avi', (u'file.name.mkv', u'avi'): u'file.name.avi'}
    for tests in (test_cases, unicode_test_cases):
        for ((filename, extension), result) in six.iteritems(tests):
            self.assertEqual(replace_extension(filename, extension), result)
