Esempio n. 1
0
def run_test(runMin=True, isInd=True, verbose=True):
    '''
    The run_test method runs execution of the mink reduction
    on a randomized array.
    :return: 
    '''
    aka = make_array()

    failures = 0
    try:
        if not isInd:
            if runMin:
                akres = ak.mink(aka, K)
                npres = np.sort(
                    aka.to_ndarray())[:K]  # first K elements from sorted array
            else:
                akres = ak.maxk(aka, K)
                npres = np.sort(
                    aka.to_ndarray())[-K:]  # last K elements from sorted array
        else:
            if runMin:
                akres = aka[ak.argmink(aka, K)]
                npres = np.sort(
                    aka.to_ndarray())[:K]  # first K elements from sorted array
            else:
                akres = aka[ak.argmaxk(aka, K)]
                npres = np.sort(
                    aka.to_ndarray())[-K:]  # last K elements from sorted array
    except RuntimeError as E:
        if verbose: print("Arkouda error: ", E)

    failures += compare_results(akres, npres)

    return failures
Esempio n. 2
0
    def test_error_handling(self):
        testArray = ak.randint(0, 100, 100)

        with self.assertRaises(TypeError) as cm:
            ak.maxk(list(range(0, 10)), 1)
        self.assertEqual(
            'type of argument "pda" must be arkouda.pdarrayclass.pdarray; got list instead',
            cm.exception.args[0])

        with self.assertRaises(TypeError) as cm:
            ak.maxk(testArray, '1')
        self.assertEqual('type of argument "k" must be int; got str instead',
                         cm.exception.args[0])

        with self.assertRaises(ValueError) as cm:
            ak.maxk(testArray, -1)
        self.assertEqual("k must be 1 or greater", cm.exception.args[0])

        with self.assertRaises(ValueError) as cm:
            ak.maxk(ak.array([]), 1)
        self.assertEqual("must be a non-empty pdarray of type int or float",
                         cm.exception.args[0])