Ejemplo n.º 1
0
 def test_multicontains(self):
     seq1 = List(store=self.store)
     seq2 = List(store=self.store)
     seq1.append(self.i1)
     seq2.append(self.i2)
     self.assertTrue(self.i1 in seq1)
     self.assertTrue(self.i2 in seq2)
     self.assertFalse(self.i1 in seq2)
     self.assertFalse(self.i2 in seq1)
Ejemplo n.º 2
0
 def test_s_plus_t(self):
     L1 = List(store=self.store)
     L2 = List(store=self.store)
     L1.append(self.i0)
     L2.append(self.i1)
     # XXX ASSUMPTION: all operations which return another
     # instance will return regular lists, *not* Lists.
     L = L1 + L2
     self.assertEqual(L, [self.i0, self.i1])
Ejemplo n.º 3
0
 def test_multicontains(self):
     seq1 = List(store=self.store)
     seq2 = List(store=self.store)
     seq1.append(self.i1)
     seq2.append(self.i2)
     self.failUnless(self.i1 in seq1)
     self.failUnless(self.i2 in seq2)
     self.failIf(self.i1 in seq2)
     self.failIf(self.i2 in seq1)
Ejemplo n.º 4
0
 def test_extendSliceSyntax(self):
     L1 = List(store=self.store)
     L1.append(self.i0)
     L1.append(self.i1)
     L2 = List(store=self.store)
     L2.append(self.i2)
     L2.append(self.i3)
     L1[len(L1):len(L1)] = L2
     self.assertContents(L1, [self.i0, self.i1, self.i2, self.i3])
Ejemplo n.º 5
0
 def test_extend(self):
     L1 = List(store=self.store)
     L1.append(self.i0)
     L1.append(self.i1)
     L2 = List(store=self.store)
     L2.append(self.i2)
     L2.append(self.i3)
     L1.extend(L2)
     self.assertContents(L1, [self.i0, self.i1, self.i2, self.i3])
Ejemplo n.º 6
0
 def test_multidelitem(self):
     seq1 = List(store=self.store)
     seq2 = List(store=self.store)
     seq1.append(self.i1)
     seq1.append(self.i2)
     seq2.append(self.i1)
     seq2.append(self.i2)
     del seq1[0]
     self.assertIdentical(seq2[0], self.i1)
     self.assertIdentical(seq2[1], self.i2)
Ejemplo n.º 7
0
 def test_contains(self):
     seq = List(store=self.store)
     seq.append(self.i1)
     seq.append(self.i2)
     self.assertTrue(self.i1 in seq)
     self.assertTrue(self.i2 in seq)
     self.assertFalse(self.i3 in seq)
Ejemplo n.º 8
0
 def test_append(self):
     seq = List(store=self.store)
     self.assertContents(seq, [])
     seq.append(self.i0)
     self.assertContents(seq, [self.i0])
     seq.append(self.i1)
     self.assertContents(seq, [self.i0, self.i1])
Ejemplo n.º 9
0
 def test_contains(self):
     seq = List(store=self.store)
     seq.append(self.i1)
     seq.append(self.i2)
     self.failUnless(self.i1 in seq)
     self.failUnless(self.i2 in seq)
     self.failIf(self.i3 in seq)
Ejemplo n.º 10
0
 def test_appendSliceSyntax(self):
     seq = List(store=self.store)
     self.assertContents(seq, [])
     seq[len(seq):len(seq)] = [self.i0]
     seq[len(seq):len(seq)] = [self.i1]
     seq[len(seq):len(seq)] = [self.i2]
     self.assertContents(seq, [self.i0, self.i1, self.i2])
Ejemplo n.º 11
0
 def test_min_max(self):
     seq = List(store=self.store)
     seq.append(self.i0)
     seq.append(self.i1)
     seq.append(self.i2)
     self.assertIdentical(min(seq), self.i0)
     self.assertIdentical(max(seq), self.i2)
Ejemplo n.º 12
0
 def test_slice_with_step(self):
     seq = List(store=self.store)
     seq.append(self.i0)
     seq.append(self.i1)
     seq.append(self.i2)
     seq.append(self.i3)
     self.assertEqual(seq[0:4:2], [self.i0, self.i2])
     self.assertEqual(seq[1:5:2], [self.i1, self.i3])
Ejemplo n.º 13
0
 def test_index(self):
     seq = List(store=self.store)
     seq.append(self.i0)
     seq.append(self.i1)
     self.assertIdentical(seq[0], self.i0)
     self.assertIdentical(seq[1], self.i1)
     self.failIfIdentical(seq[0], self.i1)
     self.failIfIdentical(seq[1], self.i0)
Ejemplo n.º 14
0
 def test_insert(self):
     seq = List(store=self.store)
     seq.append(self.i0)
     seq.append(self.i0)
     seq.insert(1, self.i9)
     self.assertContents(seq, [self.i0,
                               self.i9,
                               self.i0])
Ejemplo n.º 15
0
 def test_insertSliceSyntax(self):
     seq = List(store=self.store)
     seq.append(self.i0)
     seq.append(self.i0)
     seq[1:1] = self.i9
     self.assertContents(seq, [self.i0,
                               self.i9,
                               self.i0])
Ejemplo n.º 16
0
 def test_appendAndGetItem(self):
     seq = List(store=self.store)
     seq.append(self.i0)
     self.assertEquals(len(seq), 1)
     self.assertEquals(seq[0], self.i0)
     seq.append(self.i1)
     seq.append(self.i2)
     self.assertEquals(seq[1], self.i1)
     self.assertEquals(seq[2], self.i2)
Ejemplo n.º 17
0
 def test_len(self):
     seq = List(store=self.store)
     self.assertEqual(len(seq), 0)
     seq.append(self.i0)
     self.assertEqual(len(seq), 1)
     seq.append(self.i0)
     self.assertEqual(len(seq), 2)
     seq.append(self.i0)
     self.assertEqual(len(seq), 3)
Ejemplo n.º 18
0
 def test_setItem(self):
     seq = List(store=self.store)
     seq.append(self.i0)
     seq.append(self.i1)
     self.assertEqual(len(seq), 2)
     self.assertEqual(seq[0], self.i0)
     self.assertEqual(seq[1], self.i1)
     seq[1] = self.i2
     self.assertEqual(seq[1], self.i2)
Ejemplo n.º 19
0
 def test_negativeIndices(self):
     seq = List(store=self.store)
     seq.append(self.i0)
     seq.append(self.i1)
     seq.append(self.i2)
     self.assertEqual(seq[-1], self.i2)
     self.assertEqual(seq[-2], self.i1)
     self.assertEqual(seq[-3], self.i0)
     self.assertRaises(IndexError, seq.__getitem__, -4)
Ejemplo n.º 20
0
    def test_sort(self):
        seq = List(store=self.store)
        def seq_randomize():
            while len(seq):
                seq.pop()
            seq.append(self.i3)
            seq.append(self.i0)
            seq.append(self.i1)
            seq.append(self.i4)
            seq.append(self.i2)

        seq_randomize()
        seq.sort()
        self.assertContents(seq, [self.i0,
                                  self.i1,
                                  self.i2,
                                  self.i3,
                                  self.i4])

        seq_randomize()
        seq.sort(lambda x,y: cmp(y,x))
        self.assertContents(seq, [self.i4,
                                  self.i3,
                                  self.i2,
                                  self.i1,
                                  self.i0])

        def strangecmp(x, y):
            xfoo, yfoo = x.foo, y.foo
            if xfoo < 3:
                xfoo += 100
            if yfoo < 3:
                yfoo += 100
            return cmp(xfoo, yfoo)
        seq_randomize()
        seq.sort(strangecmp)
        self.assertContents(seq, [self.i3,
                                  self.i4,
                                  self.i0,
                                  self.i1,
                                  self.i2])

        seq_randomize()
        seq.sort(None, lambda x:x, True)
        self.assertContents(seq, [self.i4,
                                  self.i3,
                                  self.i2,
                                  self.i1,
                                  self.i0])
        seq_randomize()
        seq.sort(strangecmp, lambda x:x, True)
        self.assertContents(seq, [self.i2,
                                  self.i1,
                                  self.i0,
                                  self.i4,
                                  self.i3])
Ejemplo n.º 21
0
 def test_slices(self):
     seq = List(store=self.store)
     seq.append(self.i0)
     seq.append(self.i1)
     seq.append(self.i2)
     seq.append(self.i3)
     self.assertEqual(seq[0:2], [self.i0, self.i1])
     self.assertEqual(seq[0:3], [self.i0, self.i1, self.i2])
     self.assertEqual(seq[1:0], [])
     self.assertEqual(seq[-1:], [self.i3])
Ejemplo n.º 22
0
 def test_reverse(self):
     # UPDATE my_list_tbl SET _index = (_index - listlength + 1) * -1
     seq = List(store=self.store)
     seq.append(self.i0)
     seq.append(self.i1)
     seq.append(self.i2)
     seq.append(self.i3)
     self.assertContents(seq, [self.i0, self.i1, self.i2, self.i3])
     seq.reverse()
     self.assertContents(seq, [self.i3, self.i2, self.i1, self.i0])
Ejemplo n.º 23
0
 def test_deleteSlice(self):
     seq = List(store=self.store)
     seq.append(self.i0)
     seq.append(self.i1)
     seq.append(self.i2)
     seq.append(self.i3)
     del seq[1:3]
     self.assertEqual(len(seq), 2)
     self.assertIdentical(seq[0], self.i0)
     self.assertIdentical(seq[1], self.i3)
Ejemplo n.º 24
0
 def test_count(self):
     seq = List(store=self.store)
     seq.append(self.i1)
     seq.append(self.i2)
     seq.append(self.i2)
     seq.append(self.i3)
     seq.append(self.i3)
     seq.append(self.i3)
     self.assertEqual(seq.count(self.i1), 1)
     self.assertEqual(seq.count(self.i2), 2)
     self.assertEqual(seq.count(self.i3), 3)
Ejemplo n.º 25
0
 def test_deleteSliceStep(self):
     seq = List(store=self.store)
     seq.append(self.i0)
     seq.append(self.i1)
     seq.append(self.i2)
     seq.append(self.i3)
     seq.append(self.i4)
     seq.append(self.i5)
     seq.append(self.i6)
     del seq[1:6:2]
     self.assertContents(seq, [self.i0, self.i2, self.i4, self.i6])
Ejemplo n.º 26
0
 def test_sliceAssignmentStep(self):
     seq = List(store=self.store)
     seq.append(self.i0)
     seq.append(self.i1)
     seq.append(self.i2)
     seq.append(self.i3)
     seq.append(self.i4)
     seq.append(self.i5)
     seq.append(self.i6)
     seq[1:5:2] = [self.i7, self.i7]
     self.assertContents(
         seq,
         [self.i0, self.i7, self.i2, self.i7, self.i4, self.i5, self.i6])
Ejemplo n.º 27
0
 def test_sliceAssignment(self):
     seq = List(store=self.store)
     seq.append(self.i0)
     seq.append(self.i0)
     seq.append(self.i0)
     seq.append(self.i0)
     self.assertContents(seq, [self.i0, self.i0, self.i0, self.i0])
     seq[1:3] = [self.i1, self.i2]
     self.assertContents(seq, [self.i0, self.i1, self.i2, self.i0])
     seq[1:3] = [self.i3]
     self.assertContents(seq, [self.i0, self.i3, self.i0])
     seq[1:3] = []
     self.assertContents(seq, [self.i0])
Ejemplo n.º 28
0
 def test_delItem(self):
     seq = List(store=self.store)
     seq.append(self.i1)
     seq.append(self.i2)
     seq.append(self.i3)
     self.assertEqual(seq.length, 3)
     self.assertEqual(seq[0], self.i1)
     self.assertEqual(seq[1], self.i2)
     self.assertEqual(seq[2], self.i3)
     del seq[1]
     self.assertEqual(seq.length, 2)
     self.assertEqual(seq[0], self.i1)
     self.assertEqual(seq[1], self.i3)
     self.assertRaises(IndexError, seq.__getitem__, 2)
Ejemplo n.º 29
0
    def test_pop(self):
        seq = List(store=self.store)
        seq.append(self.i0)
        seq.append(self.i1)
        seq.append(self.i2)
        seq.append(self.i3)
        seq.append(self.i4)

        self.assertIdentical(seq.pop(), self.i4)
        self.assertContents(seq, [self.i0, self.i1, self.i2, self.i3])

        self.assertIdentical(seq.pop(0), self.i0)
        self.assertContents(seq, [self.i1, self.i2, self.i3])

        self.assertIdentical(seq.pop(-2), self.i2)
        self.assertContents(seq, [self.i1, self.i3])

        self.assertRaises(IndexError, seq.pop, 13)
Ejemplo n.º 30
0
 def test_index(self):
     seq = List(store=self.store)
     seq.append(self.i0)
     seq.append(self.i1)
     seq.append(self.i0)
     seq.append(self.i2)
     seq.append(self.i0)
     seq.append(self.i2)
     self.assertEqual(seq.index(self.i0), 0)
     self.assertEqual(seq.index(self.i0, 0), 0)
     self.assertEqual(seq.index(self.i0, 1), 2)
     self.assertEqual(seq.index(self.i1), 1)
     self.assertEqual(seq.index(self.i1, 1), 1)
     self.assertEqual(seq.index(self.i2), 3)
     self.assertEqual(seq.index(self.i2, 4), 5)
     self.assertRaises(ValueError, seq.index, self.i3)
     self.assertRaises(ValueError, seq.index, self.i1, 3)
     self.assertRaises(ValueError, seq.index, self.i0, 1, 1)