Skip to content

Commit

Permalink
Closes #3414 deprecate compare_test.py (#3416)
Browse files Browse the repository at this point in the history
Co-authored-by: Amanda Potts <[email protected]>
  • Loading branch information
ajpotts and ajpotts authored Jul 11, 2024
1 parent 13cdb62 commit 88e7d0e
Show file tree
Hide file tree
Showing 4 changed files with 180 additions and 1 deletion.
179 changes: 179 additions & 0 deletions PROTO_tests/tests/compare_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
import numpy as np
import pytest

import arkouda as ak

N = 1_000_000

"""
The CompareTest class encapsulates unit tests that compare the results of analogous
method invocations against Numpy ndarrays and Arkouda pdarrays to ensure equivalent
results are generated.
"""


class TestCompare:
def test_compare_arange(self):
# create np version
nArange = np.arange(N)
# create ak version
aArange = ak.arange(N)
assert nArange.all() == aArange.all()

def test_compare_linspace(self):
# create np version
a = np.linspace(10, 20, N)
# create ak version
b = ak.linspace(10, 20, N)
# print(a,b)
assert np.allclose(a, b.to_ndarray())

def test_compare_ones(self):
# create np version
nArray = np.ones(N)
# create ak version
aArray = ak.ones(N)
assert nArray.all() == aArray.to_ndarray().all()

def test_compare_zeros(self):
# create np version
nArray = np.zeros(N)
# create ak version
aArray = ak.zeros(N)
assert nArray.all() == aArray.to_ndarray().all()

def test_compare_argsort(self):
# create np version
a = np.arange(N)
a = a[::-1]
iv = np.argsort(a)
a = a[iv]
# create ak version
b = ak.arange(N)
b = b[::-1]
iv = ak.argsort(b)
b = b[iv]
assert np.array_equal(a, b.to_ndarray())


def test_compare_sort(self):
# create np version
a = np.arange(N)
a = a[::-1]
a = np.sort(a)
# create ak version
b = ak.arange(N)
b = b[::-1]
b = ak.sort(b)
assert a.all() == b.to_ndarray().all()

def test_compare_get_slice(self):
# create np version
a = np.ones(N)
a = a[::2]
# create ak version
b = ak.ones(N)
b = b[::2]
assert a.all() == b.to_ndarray().all()

def test_compare_set_slice_value(self):
# create np version
a = np.ones(N)
a[::2] = -1
# create ak version
b = ak.ones(N)
b[::2] = -1
assert a.all() == b.to_ndarray().all()

def test_compare_set_slice(self):
# create np version
a = np.ones(N)
a[::2] = a[::2] * -1
# create ak version
b = ak.ones(N)
b[::2] = b[::2] * -1
assert a.all() == b.to_ndarray().all()

def test_compare_get_bool_iv(self):
# create np version
a = np.arange(N)
a = a[a < N // 2]
# create ak version
b = ak.arange(N)
b = b[b < N // 2]
assert a.all() == b.to_ndarray().all()

def test_compare_set_bool_iv_value(self):
# create np version
a = np.arange(N)
a[a < N // 2] = -1
# create ak version
b = ak.arange(N)
b[b < N // 2] = -1
assert a.all() == b.to_ndarray().all()

def check_set_bool_iv(self):
# create np version
a = np.arange(N)
a[a < N // 2] = a[: N // 2] * -1
# create ak version
b = ak.arange(N)
b[b < N // 2] = b[: N // 2] * -1
assert a.all() == b.to_ndarray().all()

def check_get_integer_iv(self):
# create np version
a = np.arange(N)
iv = np.arange(N // 2)
a = a[iv]
# create ak version
b = ak.arange(N)
iv = ak.arange(N // 2)
b = b[iv]
assert a.all() == b.to_ndarray().all()

def test_compare_set_integer_iv_val(self):
# create np version
a = np.arange(N)
iv = np.arange(N // 2)
a[iv] = -1
# create ak version
b = ak.arange(N)
iv = ak.arange(N // 2)
b[iv] = -1
assert a.all() == b.to_ndarray().all()

def test_compare_set_integer_iv(self):
# create np version
a = np.arange(N)
iv = np.arange(N // 2)
a[iv] = iv * 10
# create ak version
b = ak.arange(N)
iv = ak.arange(N // 2)
b[iv] = iv * 10
assert a.all() == b.to_ndarray().all()

def test_compare_get_integer_idx(self):
# create np version
a = np.arange(N)
v1 = a[N // 2]
# create ak version
b = ak.arange(N)
v2 = b[N // 2]
assert v1 == v2
assert a[-1] == b[-1]

def test_compare_set_integer_idx(self):
# create np version
a = np.arange(N)
a[N // 2] = -1
a[-1] = -1
v1 = a[N // 2]
# create ak version
b = ak.arange(N)
b[N // 2] = -1
b[-1] = -1
v2 = b[N // 2]
assert v1 == v2
assert a[-1]== b[-1]
1 change: 0 additions & 1 deletion pytest.ini
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ testpaths =
tests/check.py
tests/client_test.py
tests/coargsort_test.py
tests/compare_test.py
tests/extrema_test.py
tests/import_export_test.py
tests/indexing_test.py
Expand Down
1 change: 1 addition & 0 deletions pytest_PROTO.ini
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ testpaths =
PROTO_tests/tests/client_dtypes_test.py
PROTO_tests/tests/client_test.py
PROTO_tests/tests/coargsort_test.py
PROTO_tests/tests/compare_test.py
PROTO_tests/tests/dataframe_test.py
PROTO_tests/tests/datetime_test.py
PROTO_tests/tests/dtypes_test.py
Expand Down
File renamed without changes.

0 comments on commit 88e7d0e

Please sign in to comment.