From 1af056c84b11b18070e794b27f69a702cb85afbd Mon Sep 17 00:00:00 2001 From: EulerPascal404 <67972733+EulerPascal404@users.noreply.github.com> Date: Sun, 9 Apr 2023 16:55:53 -0500 Subject: [PATCH] [Code Coverage] `data/view.py` (#7093) Created code coverage for `data/view.py`. --------- Co-authored-by: ThePuzzlr <90777621+ThePuzzlr@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: rusty1s --- CHANGELOG.md | 1 + test/data/test_view.py | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 test/data/test_view.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 714dd3773b16..b7f7be0d0e1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Changed +- Improved code coverage ([#7093](https://github.com/pyg-team/pytorch_geometric/pull/7093)) - Fix `numpy` incompatiblity when reading files for `Planetoid` datasets ([#7141](https://github.com/pyg-team/pytorch_geometric/pull/7141)) - Added support for `Data.num_edges` for native `torch.sparse.Tensor` adjacency matrices ([#7104](https://github.com/pyg-team/pytorch_geometric/pull/7104)) - Fixed crash of heterogeneous data loaders if node or edge types are missing ([#7060](https://github.com/pyg-team/pytorch_geometric/pull/7060), [#7087](https://github.com/pyg-team/pytorch_geometric/pull/7087)) diff --git a/test/data/test_view.py b/test/data/test_view.py new file mode 100644 index 000000000000..bf9054934f6b --- /dev/null +++ b/test/data/test_view.py @@ -0,0 +1,31 @@ +from torch_geometric.data.storage import BaseStorage + + +def test_views(): + storage = BaseStorage(x=1, y=2, z=3) + + assert str(storage.keys()) == "KeysView({'x': 1, 'y': 2, 'z': 3})" + assert len(storage.keys()) == 3 + assert list(storage.keys()) == ['x', 'y', 'z'] + + assert str(storage.values()) == "ValuesView({'x': 1, 'y': 2, 'z': 3})" + assert len(storage.values()) == 3 + assert list(storage.values()) == [1, 2, 3] + + assert str(storage.items()) == "ItemsView({'x': 1, 'y': 2, 'z': 3})" + assert len(storage.items()) == 3 + assert list(storage.items()) == [('x', 1), ('y', 2), ('z', 3)] + + args = ['x', 'z', 'foo'] + + assert str(storage.keys(*args)) == "KeysView({'x': 1, 'z': 3})" + assert len(storage.keys(*args)) == 2 + assert list(storage.keys(*args)) == ['x', 'z'] + + assert str(storage.values(*args)) == "ValuesView({'x': 1, 'z': 3})" + assert len(storage.values(*args)) == 2 + assert list(storage.values(*args)) == [1, 3] + + assert str(storage.items(*args)) == "ItemsView({'x': 1, 'z': 3})" + assert len(storage.items(*args)) == 2 + assert list(storage.items(*args)) == [('x', 1), ('z', 3)]