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
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])