printing.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import io
  2. import pytest
  3. import pandas as pd
  4. from pandas import compat
  5. from .base import BaseExtensionTests
  6. class BasePrintingTests(BaseExtensionTests):
  7. """Tests checking the formatting of your EA when printed."""
  8. @pytest.mark.parametrize("size", ["big", "small"])
  9. def test_array_repr(self, data, size):
  10. if size == "small":
  11. data = data[:5]
  12. else:
  13. data = type(data)._concat_same_type([data] * 5)
  14. result = repr(data)
  15. assert data.__class__.__name__ in result
  16. assert 'Length: {}'.format(len(data)) in result
  17. assert str(data.dtype) in result
  18. if size == 'big':
  19. assert '...' in result
  20. def test_array_repr_unicode(self, data):
  21. result = compat.text_type(data)
  22. assert isinstance(result, compat.text_type)
  23. def test_series_repr(self, data):
  24. ser = pd.Series(data)
  25. assert data.dtype.name in repr(ser)
  26. def test_dataframe_repr(self, data):
  27. df = pd.DataFrame({"A": data})
  28. repr(df)
  29. def test_dtype_name_in_info(self, data):
  30. buf = io.StringIO()
  31. pd.DataFrame({"A": data}).info(buf=buf)
  32. result = buf.getvalue()
  33. assert data.dtype.name in result