TST: reorganize tools.tests
- [x] tests passed
- [x] passes `git diff upstream/master | flake8 --diff`

`merge`, `join` and `concat` related tests are mixed each other. Cleaned up these tests.

Looks good!
 ## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/13619?src=pr) is **84.38%**

> Merging [#13619](https://codecov.io/gh/pydata/pandas/pull/13619?src=pr) into [master](https://codecov.io/gh/pydata/pandas/branch/master?src=pr) will not change coverage

``` diff
@@             master     #13619   diff @@
==========================================
  Files           142        142          
  Lines         51225      51225          
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
  Hits          43225      43225          
  Misses         8000       8000          
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last updated by [20de266...0745416](https://codecov.io/gh/pydata/pandas/compare/20de2661c8eff66e465248cbe28062eae0e0e3bb...0745416354a3c5409c8ea9dc31ad8b981fc3995a?src=pr)
 lgtm, prob will require rebase after #13147 
 Thanks @sinhrks !
