def test_merge_biglist(self): size = 300 left = sorted(sorts.get_values(size)) right = sorted(sorts.get_values(size)) values = left + right expected = sorted(values) sorts.merge(values, 0, size, 2 * size - 1) self.assertEqual(expected, values)
def test_merge(self): merge_testcases = (( ([1, 2, 3], [4, 5, 6], [1, 2, 3, 4, 5, 6]), ([2, 4, 5], [4, 5, 6], [2, 4, 4, 5, 5, 6]), ([4, 7, 7], [4, 5, 8], [4, 4, 5, 7, 7, 8]), ([4, 7, 7], [4, 5], [4, 4, 5, 7, 7]), ([1], [1], [1, 1]), ([2], [1], [1, 2]), ([1], [2], [1, 2]), )) for arr1, arr2, expected in merge_testcases: self.assertEqual(merge(arr1, arr2), expected, "merge should merge two sorted lists properly")
def test_merge_sort(): test_array = [randint(0, 10000) for i in range(1, 10**2)] result = merge(test_array) test_array.sort() assert test_array == result
def main(argv): data = files.read_lines_of_ints(argv[0]) print ' '.join(str(item) for item in sorts.merge(data[1], data[3]))
def merge_multi(list_left, list_right): manager_list_pi.append(merge(list_left, list_right))
#print(manager_list_pi) #if len(manager_list_pi) > 2: # while len(manager_list_pi) > 0: # #print("length of manager list is ",len(manager_list_pi)) # #print(manager_list_pi) # proc = Process( target=merge_multi, args=(manager_list_pi.pop(0),manager_list_pi.pop(0)) ) # p.append(proc) # #print(p) # # again starting and joining ( this seems like a pattern, doesn't it ... ? ) # for proc in p: # proc.start() # for proc in p: # proc.join() #print(manager_list_pi) array_pi = merge(merge(manager_list_pi[0], manager_list_pi[3]), merge(manager_list_pi[1], manager_list_pi[2])) #array_pi = merge(manager_list_pi[0],manager_list_pi[1]) final_merge_time = time.time() - start_time_final_merge print('Final merge duration : ', final_merge_time) multi_core_time = time.time() - start_time print("multi core time", multi_core_time) print(array_pi == sorted(array)) #print(sorted(array)) """ for storing the results with open('quick_results.txt','a') as file: line1 = " length of array: " + str(n) line2 = ' pi : pc ratio > ' + str(split_ratio) + " : " + str(10 - split_ratio) line3 = " total time taken : " + str(multi_core_time) line4 = " sort truth verification " + str(array_pi == sorted(array)) file.writelines([line1,line2,line3,line4] """
def test_mergeempties(self): first = [] second = [] merged = [] self.assertEqual(merged, sorts.merge(first,second))
def test_merge_unbalanced_lists(self): first = [1,3,4,6] second = [2,5] merged = [1,2,3,4,5,6] self.assertEqual(merged, sorts.merge(first,second))
def test_mergeotheremptylist(self): first = [1,2,3] second = [] merged = [1,2,3] self.assertEqual(merged, sorts.merge(first, second))
def test_merge(self): values = [1, 3, 2, 4, 5] sorts.merge(values, 0, 2, 4) expected = [1, 2, 3, 4, 5] self.assertEqual(values, expected)