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)
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)
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)
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)
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)
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)
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)
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))
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)
def check_first(self, key): myut.assertEqual(self.content[0], key)
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)
def empty_0_test(): t = duptreap.duptreap() myut.assertEqual(t.depth(), 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)
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)