Exemple #1
0
def positive_find_test():
	ok = True
	t = duptreap.duptreap()
	for i in xrange(0, n, 2):
		t[i] = i
	for i in xrange(0, n, 2):
		myut.assertEqual(t[i], i)
Exemple #2
0
def repeat_length_test():
	t = duptreap.duptreap()
	for i in xrange(n):
		t[i] = i
	for i in xrange(n):
		t[i] = i
	myut.assertEqual(len(t), n*2)
Exemple #3
0
	def runTest(self):
		unordered_values = list(randoms(n))
		ordered_values = list(unordered_values)
		ordered_values.sort()
		self.create(unordered_values)
		result = ordered_values == self.content
		myut.assertEqual(result, True)
Exemple #4
0
	def check_steps(self, by):
		for i in xrange(len(self.content)-1):
			# FIXME:
			# this can be simplified a bit, but I just wanted to get something working first ^_^
			if self.by > 0:
				myut.assertEqual(self.content[i], self.content[i+1] - self.by)
			else:
				myut.assertEqual(self.content[i], self.content[i+1] + self.by)
Exemple #5
0
def max_test():
	lst = range(n)
	random_lst = random_swaps(lst[:])
	t = duptreap.duptreap()
	for x in random_lst:
		t[x] = x
	least = t.find_max()
	myut.assertEqual(least, n-1)
Exemple #6
0
def min_test():
	lst = range(n)
	random_lst = random_swaps(lst[:])
	t = treap.treap()
	for x in random_lst:
		t[x] = x
	least = t.find_min()
	myut.assertEqual(least, 0)
Exemple #7
0
def removal_test():
	t = duptreap.duptreap()
	# fill the treap with 0..n
	for i in xrange(n):
		t[i] = i
	# remove all the odd values
	for i in xrange(1,n,2):
		del t[i]
	# check that we have nothing but even values left
	ordered_values = list(t.iterator())
	result = ordered_values == range(0, n, 2)
	myut.assertEqual(result, True)
Exemple #8
0
def remove_sequence_test(reverse):
	t = duptreap.duptreap()
	lst = range(n)
	for item in lst:
		t[item] = 0
	if reverse:
		lst.reverse()
		pop = t.remove_max
	else:
		pop = t.remove_min
	for i in xrange(len(lst)):
		value_from_treap = pop()
		myut.assertEqual((lst[i], 0), value_from_treap)
	myut.assertTrue(not bool(t))
Exemple #9
0
def min_max_length_test():
	t = duptreap.duptreap()
	for i in xrange(n):
		t[i] = 0
	myut.assertEqual(len(t), n)
	t.remove_min()
	myut.assertEqual(len(t), n-1)
	t.remove_max()
	myut.assertEqual(len(t), n-2)
Exemple #10
0
	def check_first(self, key):
		myut.assertEqual(self.content[0], key)
Exemple #11
0
def simple_length_test():
	t = duptreap.duptreap()
	for i in xrange(n):
		myut.assertEqual(len(t), i)
		t[i] = i
	myut.assertEqual(len(t), n)
Exemple #12
0
def empty_0_test():
	t = duptreap.duptreap()
	myut.assertEqual(t.depth(), 0)
Exemple #13
0
def value_test():
	t = duptreap.duptreap()
	for i in xrange(n):
		t[i] = i*3
	for i in xrange(n):
		myut.assertEqual(t[i], i*3)
Exemple #14
0
	def runTest(self):
		ordered_values = range(n)
		unordered_values = random_swaps(ordered_values[:])
		self.create(unordered_values)
		result = ordered_values == self.content
		myut.assertEqual(result, True)