TST: Added tests for ABC classes
- [ ] closes #xxxx
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

`test_abc_types` is a subset of the tests added and can be removed in a followup.
Indeed, thanks @jbrockmendel. Changes made. thanks @rhshadrach 