Skip to content

Commit 6c3be04

Browse files
add tests for multiple iterations
1 parent f06e803 commit 6c3be04

File tree

2 files changed

+22
-10
lines changed

2 files changed

+22
-10
lines changed

tests/test_distribute.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from mpipartition import Partition, distribute
99

1010

11-
def create_and_distribute(dimensions: int, N: int) -> None:
11+
def create_and_distribute(dimensions: int, N: int, iterations: int) -> None:
1212
partition = Partition(dimensions)
1313
assert dimensions < 7
1414
assert dimensions > 0
@@ -17,7 +17,7 @@ def create_and_distribute(dimensions: int, N: int) -> None:
1717
coord_keys = [x for x in labels]
1818

1919
data = {x: np.random.uniform(0, 1, N) for x in labels}
20-
data = distribute(partition, 1.0, data, coord_keys)
20+
data = distribute(partition, 1.0, data, coord_keys, all2all_iterations=iterations)
2121

2222
valid = np.ones(len(data[labels[0]]), dtype=np.bool_)
2323
for i, label in enumerate(labels):
@@ -33,19 +33,27 @@ def create_and_distribute(dimensions: int, N: int) -> None:
3333

3434
@pytest.mark.mpi
3535
def test_1d() -> None:
36-
create_and_distribute(1, 1000)
36+
create_and_distribute(1, 1000, 1)
37+
create_and_distribute(1, 1000, 2)
38+
create_and_distribute(1, 1000, 4)
3739

3840

3941
@pytest.mark.mpi
4042
def test_2d() -> None:
41-
create_and_distribute(2, 100)
43+
create_and_distribute(2, 100, 1)
44+
create_and_distribute(2, 100, 2)
45+
create_and_distribute(2, 100, 4)
4246

4347

4448
@pytest.mark.mpi
4549
def test_3d() -> None:
46-
create_and_distribute(3, 10)
50+
create_and_distribute(3, 10, 1)
51+
create_and_distribute(3, 10, 2)
52+
create_and_distribute(3, 10, 4)
4753

4854

4955
@pytest.mark.mpi
5056
def test_4d() -> None:
51-
create_and_distribute(4, 5)
57+
create_and_distribute(4, 5, 1)
58+
create_and_distribute(4, 5, 2)
59+
create_and_distribute(4, 5, 4)

tests/test_s2_distribute.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from mpipartition import S2Partition, s2_distribute
99

1010

11-
def create_and_distribute(N: int, equal_area: bool) -> None:
11+
def create_and_distribute(N: int, equal_area: bool, iterations: int) -> None:
1212
partition = S2Partition(equal_area=equal_area)
1313
np.random.seed(partition.rank)
1414

@@ -17,7 +17,7 @@ def create_and_distribute(N: int, equal_area: bool) -> None:
1717
id = np.arange(N, dtype=np.int64) + partition.rank * N
1818

1919
data = {"phi": phi, "theta": theta, "id": id}
20-
data = s2_distribute(partition, data)
20+
data = s2_distribute(partition, data, all2all_iterations=iterations)
2121

2222
valid = np.ones(len(data["phi"]), dtype=np.bool_)
2323
valid &= data["phi"] >= partition.phi_extent[0]
@@ -30,9 +30,13 @@ def create_and_distribute(N: int, equal_area: bool) -> None:
3030

3131
@pytest.mark.mpi
3232
def test_s2_distribute_equal_area() -> None:
33-
create_and_distribute(100, equal_area=True)
33+
create_and_distribute(100, equal_area=True, iterations=1)
34+
create_and_distribute(100, equal_area=True, iterations=2)
35+
create_and_distribute(100, equal_area=True, iterations=4)
3436

3537

3638
@pytest.mark.mpi
3739
def test_s2_distribute_unequal_area() -> None:
38-
create_and_distribute(100, equal_area=False)
40+
create_and_distribute(100, equal_area=False, iterations=1)
41+
create_and_distribute(100, equal_area=False, iterations=2)
42+
create_and_distribute(100, equal_area=False, iterations=4)

0 commit comments

Comments
 (0)