'If C{showAttributes} has an item that is a 2-tuple, C{__str__} renders
the first item in the tuple as a key and the result of calling the
second item with the value of the attribute named by the first item as
the value.'

def test_formatter(self):

    class Foo(util.FancyStrMixin, ):
        showAttributes = ('first', ('second', (lambda value: repr(value[::(-1)]))))
        first = 'hello'
        second = 'world'
    self.assertEqual("<Foo    first='hello'    second='dlrow'>", str(Foo()))
