1+ import unittest
2+ import numpy as np
3+ from numpy_recreate import Array1D
4+
5+
6+ class TestAdd (unittest .TestCase ):
7+
8+ def test_basic_equality (self ):
9+ data = [1 , 2 , 3 , 4 ]
10+ a = np .array (data )
11+ b = Array1D (data )
12+ self .assertEqual (a .tolist (), b .data )
13+
14+ a = np .random .rand (100 )
15+ b = Array1D (a .tolist ())
16+ self .assertEqual (a .tolist (), b .data )
17+
18+ def test_arithmetic_scalar (self ):
19+ a = np .random .rand (100 )
20+ b = Array1D (a .tolist ())
21+
22+ a1 = a + 5
23+ b1 = b + 5
24+ self .assertEqual (a1 .tolist (), b1 .data )
25+
26+ a1 = a - 10.987
27+ b1 = b - 10.987
28+ self .assertEqual (a1 .tolist (), b1 .data )
29+
30+ a1 = a * 10.987
31+ b1 = b * 10.987
32+ self .assertEqual (a1 .tolist (), b1 .data )
33+
34+ a1 = a / - 9.8
35+ b1 = b / - 9.8
36+ self .assertEqual (a1 .tolist (), b1 .data )
37+
38+ a1 = a ** 2
39+ b1 = b ** 2
40+ self .assertEqual (a1 .tolist (), b1 .data )
41+
42+ a1 = (a * 100 ) // 3
43+ b1 = (b * 100 ) // 3
44+ self .assertEqual (a1 .tolist (), b1 .data )
45+
46+ a1 = (a * 100 ) % 87
47+ b1 = (b * 100 ) % 87
48+ self .assertEqual (a1 .tolist (), b1 .data )
49+
50+ a1 = 10 + a
51+ b1 = 10 + b
52+ self .assertEqual (a1 .tolist (), b1 .data )
53+
54+ a1 = - 98 - a
55+ b1 = - 98 - b
56+ self .assertEqual (a1 .tolist (), b1 .data )
57+
58+ a1 = 17 * a
59+ b1 = 17 * b
60+ self .assertEqual (a1 .tolist (), b1 .data )
61+
62+ a1 = a / - 9.8
63+ b1 = b / - 9.8
64+ self .assertEqual (a1 .tolist (), b1 .data )
65+
66+ a1 = 3 ** a
67+ b1 = 3 ** b
68+ self .assertEqual (a1 .tolist (), b1 .data )
69+
70+ a1 = 10 // a
71+ b1 = 10 // b
72+ self .assertEqual (a1 .tolist (), b1 .data )
73+
74+ a1 = 87 % a
75+ b1 = 87 % b
76+ self .assertEqual (a1 .tolist (), b1 .data )
77+
78+ def test_arithmetic_scalar_int (self ):
79+ a = np .random .randint (1 , 10 , 100 )
80+ b = Array1D (a .tolist ())
81+
82+ a1 = a + 5
83+ b1 = b + 5
84+ self .assertEqual (a1 .tolist (), b1 .data )
85+
86+ a1 = a - 10.987
87+ b1 = b - 10.987
88+ self .assertEqual (a1 .tolist (), b1 .data )
89+
90+ a1 = a * 10.987
91+ b1 = b * 10.987
92+ self .assertEqual (a1 .tolist (), b1 .data )
93+
94+ a1 = a / - 9.8
95+ b1 = b / - 9.8
96+ self .assertEqual (a1 .tolist (), b1 .data )
97+
98+ a1 = a ** 2
99+ b1 = b ** 2
100+ self .assertEqual (a1 .tolist (), b1 .data )
101+
102+ a1 = (a * 100 ) // 3
103+ b1 = (b * 100 ) // 3
104+ self .assertEqual (a1 .tolist (), b1 .data )
105+
106+ a1 = (a * 100 ) % 87
107+ b1 = (b * 100 ) % 87
108+ self .assertEqual (a1 .tolist (), b1 .data )
109+
110+ a1 = 10 + a
111+ b1 = 10 + b
112+ self .assertEqual (a1 .tolist (), b1 .data )
113+
114+ a1 = - 98 - a
115+ b1 = - 98 - b
116+ self .assertEqual (a1 .tolist (), b1 .data )
117+
118+ a1 = 17 * a
119+ b1 = 17 * b
120+ self .assertEqual (a1 .tolist (), b1 .data )
121+
122+ a1 = a / - 9.8
123+ b1 = b / - 9.8
124+ self .assertEqual (a1 .tolist (), b1 .data )
125+
126+ a1 = 3 ** a
127+ b1 = 3 ** b
128+ self .assertEqual (a1 .tolist (), b1 .data )
129+
130+ a1 = 10 // a
131+ b1 = 10 // b
132+ self .assertEqual (a1 .tolist (), b1 .data )
133+
134+ a1 = 87 % a
135+ b1 = 87 % b
136+ self .assertEqual (a1 .tolist (), b1 .data )
137+
138+ def test_logical_scalar (self ):
139+ a = np .random .rand (100 )
140+ b = Array1D (a .tolist ())
141+ a1 = a > .4
142+ b1 = b > .4
143+ self .assertEqual (a1 .tolist (), b1 .data )
144+
145+ a1 = a < .8
146+ b1 = b < .8
147+ self .assertEqual (a1 .tolist (), b1 .data )
148+
149+ a = np .random .randint (0 , 10 , 100 )
150+ b = Array1D (a .tolist ())
151+ a1 = a >= 4
152+ b1 = b >= 4
153+ self .assertEqual (a1 .tolist (), b1 .data )
154+
155+ a1 = a <= 6
156+ b1 = b <= 6
157+ self .assertEqual (a1 .tolist (), b1 .data )
158+
159+ a1 = a == 4
160+ b1 = b == 4
161+ self .assertEqual (a1 .tolist (), b1 .data )
162+
163+ a1 = a != 2
164+ b1 = b != 2
165+ self .assertEqual (a1 .tolist (), b1 .data )
166+
167+
168+ if __name__ == '__main__' :
169+ unittest .main ()
0 commit comments