Organize, Split, Parametrize timezones/timestamps tests
State: closed

test_timezones has a small subset of tests that specifically tests tslibs.timezones, but most of it makes much more sense to organize with the appropriate Timestamp and DatetimeIndex tests.  Otherwise we get (as in the status quo) a ton of duplicate and near-duplicate tests for e.g. tz_localize in both test_timezones and test_timestamps.

This PR starts that cleanup for timestamps. Will wait on DTI pending feedback.

Labels:
name: Testing
description: pandas testing functions or related to the test suite
name: Datetime
description: Datetime data dtype
name: Timezones
description: Timezone data dtype

Comments:
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/19473?src=pr&el=h1) Report
> Merging [#19473](https://codecov.io/gh/pandas-dev/pandas/pull/19473?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/d37d867cbb5665ef8cae1ff580fa377eccc84253?src=pr&el=desc) will **increase** coverage by `0.01%`.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/19473/graphs/tree.svg?src=pr&token=eZ4WkYLtcO&width=650&height=150)](https://codecov.io/gh/pandas-dev/pandas/pull/19473?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #19473      +/-   ##
==========================================
+ Coverage    91.6%   91.62%   +0.01%     
==========================================
  Files         150      150              
  Lines       48724    48728       +4     
==========================================
+ Hits        44632    44645      +13     
+ Misses       4092     4083       -9
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `89.99% <ø> (+0.01%)` | :arrow_up: |
| #single | `41.74% <ø> (-0.01%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/19473?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/core/frame.py](https://codecov.io/gh/pandas-dev/pandas/pull/19473/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZnJhbWUucHk=) | `97.42% <0%> (-0.16%)` | :arrow_down: |
| [pandas/core/generic.py](https://codecov.io/gh/pandas-dev/pandas/pull/19473/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZ2VuZXJpYy5weQ==) | `95.91% <0%> (ø)` | :arrow_up: |
| [pandas/core/indexes/accessors.py](https://codecov.io/gh/pandas-dev/pandas/pull/19473/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9hY2Nlc3NvcnMucHk=) | `90.19% <0%> (+0.19%)` | :arrow_up: |
| [pandas/plotting/\_converter.py](https://codecov.io/gh/pandas-dev/pandas/pull/19473/diff?src=pr&el=tree#diff-cGFuZGFzL3Bsb3R0aW5nL19jb252ZXJ0ZXIucHk=) | `66.95% <0%> (+1.73%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/19473?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/19473?src=pr&el=footer). Last update [d37d867...2a16a97](https://codecov.io/gh/pandas-dev/pandas/pull/19473?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

> again instead of moving around inside a single file, just make a sub-directory an move to separate files. it is much easier to discover things.

OK.  So pretty much one class per file?
Just pushed a commit that splits a chunk of scalar.test_timestamps into scalar.timestamps.test_*.  This will take a few steps.  After looking at the results I agree you're right this is a nice layout.
ping
thanks, spitting like this is *very* welcome. you may need to rebase other PRs.