id,node_id,number,title,user,state,locked,assignee,milestone,comments,created_at,updated_at,closed_at,author_association,active_lock_reason,draft,pull_request,body,reactions,performed_via_github_app,state_reason,repo,type 512564022,MDExOlB1bGxSZXF1ZXN0MzMyNTUyMzI4,3447,tests for datasets with units,14808389,closed,0,,,8,2019-10-25T14:56:53Z,2019-11-09T14:17:44Z,2019-11-09T04:21:27Z,MEMBER,,0,pydata/xarray/pulls/3447,"As a follow-up to #3238, this adds tests for datasets. Replacing `assert_equal_with_units` with `assert_identical` and adding tests for the toplevel functions are not included, these will be new PRs. - [x] Tests added - [x] Passes `black . && mypy . && flake8` As a reference for myself, this is the list of methods from the documentation of `Dataset`: - [x] creation: `Dataset()` - [x] contents: `copy`, `assign`, `assign_coords`, `assign_attrs`, `pipe`, `merge`, `rename`, `rename_vars`, `rename_dims`, `swap_dims`, `expand_dims`, `drop`, `drop_dims`, `set_coords`, `reset_coords` - [x] comparisons: `equals`, `broadcast_equals`, `identical` - [x] indexing: `loc`, `isel`, `sel`, `head`, `tail`, `thin`, `squeeze`, `interp`, `interp_like`, `reindex`, `reindex_like`, `set_index`, `reset_index`, `reorder_levels` - [x] missing value handling: `isnull`, `notnull`, `combine_first`, `count`, `dropna`, `fillna`, `ffill`, `bfill`, `interpolate_na`, `where`, `isin` - [x] computation: `apply`, `reduce`, `groupby`, `groupby_bins`, `rolling`, `rolling_exp`, `coarsen`, `resample`, `diff`, `quantile`, `differentiate`, `integrate` - [x] aggregation: `all`, `any`, `argmax`, `argmin`, `max`, `min`, `mean`, `median`, `prod`, `sum`, `std`, `var` - [x] ndarray methods: `astype`, `argsort`, `clip`, `conj`, `conjugate`, `imag`, `round`, `real`, `cumsum`, `cumprod`, `rank` - [x] grouped operations: `assign`, `assign_coords`, `first`, `last`, `fillna`, `where`, `quantile` - [x] reshaping and reorganizing: `transpose`, `stack`, `unstack`, `to_stacked_array`, `shift`, `roll`, `sortby` these methods are not covered: - creation: `decode_cf` - dictionary interface: `__getitem__`, `__setitem__`, `__delitem__`, `update`, `items`, `values` - `broadcast_like` (since I also forgot this for `DataArray`, I'll create a new PR for it)","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3447/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull