Skip to content

Commit fb163ec

Browse files
add tests for dparray
1 parent 7311b94 commit fb163ec

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

dpctl/tests/test_dparray.py

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
import unittest
2+
from dpctl import dparray
3+
import numpy
4+
5+
6+
def func_operation_with_const(dpctl_array):
7+
return dpctl_array * 2.0 + 13
8+
9+
10+
def multiply_func(np_array, dpcrtl_array):
11+
return np_array * dpcrtl_array
12+
13+
14+
class TestOverloadList(unittest.TestCase):
15+
maxDiff = None
16+
17+
X = dparray.ndarray((256, 4), dtype='d')
18+
X.fill(1.0)
19+
20+
def test_dparray_type(self):
21+
self.assertIsInstance(self.X, dparray.ndarray)
22+
23+
def test_dparray_as_ndarray_self(self):
24+
Y = self.X.as_ndarray()
25+
self.assertEqual(type(Y), numpy.ndarray)
26+
27+
def test_dparray_as_ndarray(self):
28+
Y = dparray.as_ndarray(self.X)
29+
self.assertEqual(type(Y), numpy.ndarray)
30+
31+
def test_dparray_from_ndarray(self):
32+
Y = dparray.as_ndarray(self.X)
33+
dp1 = dparray.from_ndarray(Y)
34+
self.assertIsInstance(dp1, dparray.ndarray)
35+
36+
def test_multiplication_dparray(self):
37+
C = self.X * 5
38+
self.assertIsInstance(C, dparray.ndarray)
39+
40+
def test_dparray_through_python_func(self):
41+
C = self.X * 5
42+
dp_func = func_operation_with_const(C)
43+
self.assertIsInstance(dp_func, dparray.ndarray)
44+
45+
def test_dparray_mixing_dpctl_and_numpy(self):
46+
dp_numpy = numpy.ones((256, 4), dtype='d')
47+
res = multiply_func(dp_numpy, self.X)
48+
self.assertIsInstance(res, dparray.ndarray)
49+
50+
def test_dparray_shape(self):
51+
res = self.X.shape
52+
self.assertEqual(res, (256, 4))
53+
54+
def test_dparray_T(self):
55+
res = self.X.T
56+
self.assertEqual(res.shape, (4, 256))
57+
58+
59+
if __name__ == '__main__':
60+
unittest.main()

0 commit comments

Comments
 (0)