MCPcopy Create free account
hub / github.com/numpy/numpy / test_partition

Method test_partition

numpy/core/tests/test_multiarray.py:2787–2993  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2785 np.zeros_like(a.ravel(), dtype=np.intp), msg)
2786
2787 def test_partition(self):
2788 d = np.arange(10)
2789 assert_raises(TypeError, np.partition, d, 2, kind=1)
2790 assert_raises(ValueError, np.partition, d, 2, kind="nonsense")
2791 assert_raises(ValueError, np.argpartition, d, 2, kind="nonsense")
2792 assert_raises(ValueError, d.partition, 2, axis=0, kind="nonsense")
2793 assert_raises(ValueError, d.argpartition, 2, axis=0, kind="nonsense")
2794 for k in ("introselect",):
2795 d = np.array([])
2796 assert_array_equal(np.partition(d, 0, kind=k), d)
2797 assert_array_equal(np.argpartition(d, 0, kind=k), d)
2798 d = np.ones(1)
2799 assert_array_equal(np.partition(d, 0, kind=k)[0], d)
2800 assert_array_equal(d[np.argpartition(d, 0, kind=k)],
2801 np.partition(d, 0, kind=k))
2802
2803 # kth not modified
2804 kth = np.array([30, 15, 5])
2805 okth = kth.copy()
2806 np.partition(np.arange(40), kth)
2807 assert_array_equal(kth, okth)
2808
2809 for r in ([2, 1], [1, 2], [1, 1]):
2810 d = np.array(r)
2811 tgt = np.sort(d)
2812 assert_array_equal(np.partition(d, 0, kind=k)[0], tgt[0])
2813 assert_array_equal(np.partition(d, 1, kind=k)[1], tgt[1])
2814 assert_array_equal(d[np.argpartition(d, 0, kind=k)],
2815 np.partition(d, 0, kind=k))
2816 assert_array_equal(d[np.argpartition(d, 1, kind=k)],
2817 np.partition(d, 1, kind=k))
2818 for i in range(d.size):
2819 d[i:].partition(0, kind=k)
2820 assert_array_equal(d, tgt)
2821
2822 for r in ([3, 2, 1], [1, 2, 3], [2, 1, 3], [2, 3, 1],
2823 [1, 1, 1], [1, 2, 2], [2, 2, 1], [1, 2, 1]):
2824 d = np.array(r)
2825 tgt = np.sort(d)
2826 assert_array_equal(np.partition(d, 0, kind=k)[0], tgt[0])
2827 assert_array_equal(np.partition(d, 1, kind=k)[1], tgt[1])
2828 assert_array_equal(np.partition(d, 2, kind=k)[2], tgt[2])
2829 assert_array_equal(d[np.argpartition(d, 0, kind=k)],
2830 np.partition(d, 0, kind=k))
2831 assert_array_equal(d[np.argpartition(d, 1, kind=k)],
2832 np.partition(d, 1, kind=k))
2833 assert_array_equal(d[np.argpartition(d, 2, kind=k)],
2834 np.partition(d, 2, kind=k))
2835 for i in range(d.size):
2836 d[i:].partition(0, kind=k)
2837 assert_array_equal(d, tgt)
2838
2839 d = np.ones(50)
2840 assert_array_equal(np.partition(d, 0, kind=k), d)
2841 assert_array_equal(d[np.argpartition(d, 0, kind=k)],
2842 np.partition(d, 0, kind=k))
2843
2844 # sorted

Callers

nothing calls this directly

Calls 11

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
sortMethod · 0.80
reshapeMethod · 0.80
partitionMethod · 0.45
copyMethod · 0.45
allMethod · 0.45

Tested by

no test coverage detected