diff options
author | Zuul <zuul@review.opendev.org> | 2022-10-04 18:15:39 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2022-10-04 18:15:39 +0000 |
commit | 91c62985fb6c529cecfed5354ae687d62c25a821 (patch) | |
tree | 08c88014b116de653b947c2a28b459a5179220b8 | |
parent | d1b46e9f97a990cc8456ecfc7efc5263a41f24ba (diff) | |
parent | 67217b0e56cae8e88ebb861d3894551e3dedb1b7 (diff) | |
download | cliff-91c62985fb6c529cecfed5354ae687d62c25a821.tar.gz |
Merge "columns: Useful __str__, __repr__ implementation"4.1.0
-rw-r--r-- | cliff/columns.py | 6 | ||||
-rw-r--r-- | cliff/tests/test_columns.py | 20 |
2 files changed, 23 insertions, 3 deletions
diff --git a/cliff/columns.py b/cliff/columns.py index b9cac5e..3462176 100644 --- a/cliff/columns.py +++ b/cliff/columns.py @@ -31,6 +31,12 @@ class FormattableColumn(object, metaclass=abc.ABCMeta): self.__class__ == other.__class__ and self._value < other._value ) + def __str__(self): + return self.human_readable() + + def __repr__(self): + return '%s(%r)' % (self.__class__.__name__, self.machine_readable()) + @abc.abstractmethod def human_readable(self): """Return a basic human readable version of the data.""" diff --git a/cliff/tests/test_columns.py b/cliff/tests/test_columns.py index 6bce767..364d258 100644 --- a/cliff/tests/test_columns.py +++ b/cliff/tests/test_columns.py @@ -23,17 +23,31 @@ class FauxColumn(columns.FormattableColumn): class TestColumns(unittest.TestCase): - def test_faux_column_machine(self): + def test_machine_readable(self): c = FauxColumn(['list', 'of', 'values']) self.assertEqual(['list', 'of', 'values'], c.machine_readable()) - def test_faux_column_human(self): + def test_human_readable(self): c = FauxColumn(['list', 'of', 'values']) self.assertEqual( - u"I made this string myself: ['list', 'of', 'values']", + "I made this string myself: ['list', 'of', 'values']", c.human_readable(), ) + def test_str(self): + c = FauxColumn(['list', 'of', 'values']) + self.assertEqual( + "I made this string myself: ['list', 'of', 'values']", + str(c), + ) + + def test_repr(self): + c = FauxColumn(['list', 'of', 'values']) + self.assertEqual( + "FauxColumn(['list', 'of', 'values'])", + repr(c), + ) + def test_sorting(self): cols = [ FauxColumn('foo'), |