MCPcopy
hub / github.com/numpy/numpy / test_partition

Method test_partition

numpy/_core/tests/test_multiarray.py:3372–3586  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

3370 np.zeros_like(a.ravel(), dtype=np.intp), msg)
3371
3372 def test_partition(self):
3373 d = np.arange(10)
3374 assert_raises(TypeError, np.partition, d, 2, kind=1)
3375 assert_raises(ValueError, np.partition, d, 2, kind="nonsense")
3376 assert_raises(ValueError, np.argpartition, d, 2, kind="nonsense")
3377 assert_raises(ValueError, d.partition, 2, axis=0, kind="nonsense")
3378 assert_raises(ValueError, d.argpartition, 2, axis=0, kind="nonsense")
3379 for k in ("introselect",):
3380 d = np.array([])
3381 assert_array_equal(np.partition(d, 0, kind=k), d)
3382 assert_array_equal(np.argpartition(d, 0, kind=k), d)
3383 d = np.ones(1)
3384 assert_array_equal(np.partition(d, 0, kind=k)[0], d)
3385 assert_array_equal(d[np.argpartition(d, 0, kind=k)],
3386 np.partition(d, 0, kind=k))
3387
3388 # kth not modified
3389 kth = np.array([30, 15, 5])
3390 okth = kth.copy()
3391 np.partition(np.arange(40), kth)
3392 assert_array_equal(kth, okth)
3393
3394 for r in ([2, 1], [1, 2], [1, 1]):
3395 d = np.array(r)
3396 tgt = np.sort(d)
3397 assert_array_equal(np.partition(d, 0, kind=k)[0], tgt[0])
3398 assert_array_equal(np.partition(d, 1, kind=k)[1], tgt[1])
3399 self.assert_partitioned(np.partition(d, 0, kind=k), [0])
3400 self.assert_partitioned(d[np.argpartition(d, 0, kind=k)], [0])
3401 self.assert_partitioned(np.partition(d, 1, kind=k), [1])
3402 self.assert_partitioned(d[np.argpartition(d, 1, kind=k)], [1])
3403 for i in range(d.size):
3404 d[i:].partition(0, kind=k)
3405 assert_array_equal(d, tgt)
3406
3407 for r in ([3, 2, 1], [1, 2, 3], [2, 1, 3], [2, 3, 1],
3408 [1, 1, 1], [1, 2, 2], [2, 2, 1], [1, 2, 1]):
3409 d = np.array(r)
3410 tgt = np.sort(d)
3411 assert_array_equal(np.partition(d, 0, kind=k)[0], tgt[0])
3412 assert_array_equal(np.partition(d, 1, kind=k)[1], tgt[1])
3413 assert_array_equal(np.partition(d, 2, kind=k)[2], tgt[2])
3414 self.assert_partitioned(np.partition(d, 0, kind=k), [0])
3415 self.assert_partitioned(d[np.argpartition(d, 0, kind=k)], [0])
3416 self.assert_partitioned(np.partition(d, 1, kind=k), [1])
3417 self.assert_partitioned(d[np.argpartition(d, 1, kind=k)], [1])
3418 self.assert_partitioned(np.partition(d, 2, kind=k), [2])
3419 self.assert_partitioned(d[np.argpartition(d, 2, kind=k)], [2])
3420 for i in range(d.size):
3421 d[i:].partition(0, kind=k)
3422 assert_array_equal(d, tgt)
3423
3424 d = np.ones(50)
3425 assert_array_equal(np.partition(d, 0, kind=k), d)
3426 assert_array_equal(d[np.argpartition(d, 0, kind=k)],
3427 np.partition(d, 0, kind=k))
3428
3429 # sorted

Callers

nothing calls this directly

Calls 12

assert_partitionedMethod · 0.95
assert_raisesFunction · 0.90
assert_array_equalFunction · 0.90
assert_equalFunction · 0.90
assert_Function · 0.90
assert_array_lessFunction · 0.90
argpartitionMethod · 0.80
reshapeMethod · 0.80
partitionMethod · 0.45
copyMethod · 0.45
sortMethod · 0.45
allMethod · 0.45

Tested by

no test coverage detected