Skip to content

Conversation

FBruzzesi
Copy link
Member

@FBruzzesi FBruzzesi commented Oct 18, 2025

What type of PR is this? (check all applicable)

  • 💾 Refactor
  • ✨ Feature
  • 🐛 Bug Fix
  • 🔧 Optimization
  • 📝 Documentation
  • ✅ Test
  • 🐳 Other

Related issues

Checklist

  • Code follows style guide (ruff)
  • Tests added
  • Documented the changes

If you have comments or can explain your changes, please do so below

50%+ of the changes are docstrings and tests

@FBruzzesi FBruzzesi added the enhancement New feature or request label Oct 18, 2025
Comment on lines +231 to +233
# TODO(FBruzzesi): Do we even this? What should we check?
# The best way could be to migrate away from `assert_equal_data` in the test suite
def test_values_mismatch(constructor: Constructor) -> None: ...
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking for help in finding edge cases here 😇

@FBruzzesi FBruzzesi marked this pull request as ready for review October 18, 2025 10:53
Comment on lines 25 to 36
DataFramesDetail: TypeAlias = (
Literal[
"columns are not in the same order",
"dtypes do not match",
"height (row count) mismatch",
"implementation mismatch",
]
| str
# NOTE: `| str` makes the literals above redundant, but they still show
# up when typing as autocompletion.
# The reason to have `str` is due to the fact that other details are dynamic
# and depend upon which columns lead to the assertion error.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dangotbanned do you see a better way of doing this?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My first thought would be to keep the *Detail aliases for static portion of the message.

I haven't looked through to see how the dynamic stuff works yet - particularly where it is sourced and where it gets inserted - but if you had these things separated into 2 parameters then it might work?

E.g. if you added another parameter with not_thing: str = "", that could just get skipped when empty?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support assert_frame_equal

2 participants