Beispiel #1
0
l = ['a', 'b', 'c', 'zz', 'd', 'e', 'f']
q = SBList(l)	
print('Original: ' + repr(q))

#l.insert(3, 'after c')
#q.insert(3, 'after c')

del l[2]
del q[2]

print('after del, q = ' + repr(q))
print('after del, l = ' + repr(l))

assert(l == q.return_list())
l.sort()
q.sort()

print('after sort, q = ' + repr(q))
print('after sort, l = ' + repr(l))

qlist = q.return_list()
assert(l == qlist)

print('sort after insert and delete')
print(repr(q.order()))

print("\nNow sort indexes 3-7")
print(repr(q.order(start=3, end=7)))

m = ['r', 'h', 'o', 's', 'u', 'sa', 'saa', 'm', 'o', 'sb', 'c']
q = SBList(m)	
Beispiel #2
0
assert(sb == [0,1,2,3,3.5,4])
sb.insert(0, 0.5)
assert(sb == [0.5, 0,1,2,3,3.5,4])

# Test a simple undo and some insertions
sl = SBList([1,2,6,3,12,7])
sl.insert(2, 90)
sl.undo()
sl.insert(2, 90)
sl.insert(4, 50)
sl.insert(5, 9999999)
sl.insert(3, 20)
sl.delete(6)
sl.insert(3, 30)
sl
sl.sort()
sl
sl.delete(3)
assert(sl.get_list() == [1, 2, 3, 7, 12, 20, 30, 50, 90])
####

#######################################################################
# Test insert, sort, delete:
sl = SBList([1,2,6,3,12,7])
sl.sort()
sl.undo()
print('######## B')
print('answer should be:\n[1, 2, 6, 3, 12, 7]')
print(sl)

print('------------------------------------------')
Beispiel #3
0
			while j < str_len and k < k_max:
				l.append(l[-1])
				k += 1
				j += 1
		else:
			l.append(chr(random.randint(ord('a'), ord('z'))))
		j += 1
	#
	# Now copy the list and test it
	#
	start_offset = random.randint(0, str_len - 3)
	end_offset = random.randint(start_offset + 1, str_len - 1)
	save_l = []
	save_l.extend(l)
	q = SBList(l)	
	q.sort(start=start_offset, end=end_offset)
	l_new = q.return_list()
	save_l2 = subsort(save_l, start_offset, end_offset)
	# The diff() function seems to remove the sort from
	# my saved list

	### TEMPORARY HACK TO TEST ERROR DETECTION:
	##save_l2[3] = 'zzTEST'
	difflist = list(difflib.ndiff(save_l2, l_new))
	if len(difflist) != len(q):
		print('================== verify failed')
		print("start idx " + str(start_offset) + ' end idx ' + str(end_offset))
		print('save:\n' + repr(save_l2))
		print('new:\n' + repr(l_new))
		raise Exception('Verify failed')
print('finished with no errors')
Beispiel #4
0
	used as an array index capturing value n-1)
	"""
	lstart = l[0:start]
	lend = l[end:]
	lmid = l[start:end]
	lmid.sort()
	final = []
	final.extend(lstart)
	final.extend(lmid)
	final.extend(lend)
	return(final)

l = ['a', 'g','e', 't','g','h','b','n']

q = SBList(l)
q.sort()
q.sort()
q.sort()
q.sort()
q.sort()
print(repr(q.get_undo_list()))
#####################################################################
#
#                          Testing
#
######################################################################
# generate an auto-correlated series of characters to test the
# sort routine.  The challenge is to sort a subset of input rows
# when the old sate ranges spand into or across the sort region
# of a subsort
replicates = 3000