141
145
desired = array([[1,2],[1,2]])
142
146
assert_array_equal(res,desired)
148
def test_concatenate():
149
# Test concatenate function
150
# No arrays raise ValueError
151
assert_raises(ValueError, concatenate, ())
152
# Scalars cannot be concatenated
153
assert_raises(ValueError, concatenate, (0,))
154
assert_raises(ValueError, concatenate, (array(0),))
155
# One sequence returns unmodified (but as array)
157
assert_array_equal(concatenate((r4,)), r4)
159
assert_array_equal(concatenate((tuple(r4),)), r4)
160
assert_array_equal(concatenate((array(r4),)), r4)
161
# 1D default concatenation
163
assert_array_equal(concatenate((r4, r3)), r4 + r3)
164
# Mixed sequence types
165
assert_array_equal(concatenate((tuple(r4), r3)), r4 + r3)
166
assert_array_equal(concatenate((array(r4), r3)), r4 + r3)
167
# Explicit axis specification
168
assert_array_equal(concatenate((r4, r3), 0), r4 + r3)
170
assert_array_equal(concatenate((r4, r3), -1), r4 + r3)
172
a23 = array([[10, 11, 12], [13, 14, 15]])
173
a13 = array([[0, 1, 2]])
174
res = array([[10, 11, 12], [13, 14, 15], [0, 1, 2]])
175
assert_array_equal(concatenate((a23, a13)), res)
176
assert_array_equal(concatenate((a23, a13), 0), res)
177
assert_array_equal(concatenate((a23.T, a13.T), 1), res.T)
178
assert_array_equal(concatenate((a23.T, a13.T), -1), res.T)
179
# Arrays much match shape
180
assert_raises(ValueError, concatenate, (a23.T, a13.T), 0)
182
res = arange(2 * 3 * 7).reshape((2, 3, 7))
186
assert_array_equal(concatenate((a0, a1, a2), 2), res)
187
assert_array_equal(concatenate((a0, a1, a2), -1), res)
188
assert_array_equal(concatenate((a0.T, a1.T, a2.T), 0), res.T)
191
def test_concatenate_sloppy0():
192
# Versions of numpy < 1.7.0 ignored axis argument value for 1D arrays. We
193
# allow this for now, but in due course we will raise an error
196
assert_array_equal(concatenate((r4, r3), 0), r4 + r3)
197
warnings.simplefilter('ignore', DeprecationWarning)
199
assert_array_equal(concatenate((r4, r3), -10), r4 + r3)
200
assert_array_equal(concatenate((r4, r3), 10), r4 + r3)
202
warnings.filters.pop(0)
203
# Confirm DepractionWarning raised
204
warnings.simplefilter('always', DeprecationWarning)
205
warnings.simplefilter('error', DeprecationWarning)
207
assert_raises(DeprecationWarning, concatenate, (r4, r3), 10)
209
warnings.filters.pop(0)
210
warnings.filters.pop(0)
144
213
if __name__ == "__main__":
145
214
run_module_suite()