summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-10-04 18:15:39 +0000
committerGerrit Code Review <review@openstack.org>2022-10-04 18:15:39 +0000
commit91c62985fb6c529cecfed5354ae687d62c25a821 (patch)
tree08c88014b116de653b947c2a28b459a5179220b8
parentd1b46e9f97a990cc8456ecfc7efc5263a41f24ba (diff)
parent67217b0e56cae8e88ebb861d3894551e3dedb1b7 (diff)
downloadcliff-91c62985fb6c529cecfed5354ae687d62c25a821.tar.gz
Merge "columns: Useful __str__, __repr__ implementation"4.1.0
-rw-r--r--cliff/columns.py6
-rw-r--r--cliff/tests/test_columns.py20
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'),