コード例 #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)
コード例 #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])
コード例 #3
0
ファイル: test_sequence.py プロジェクト: DalavanCloud/axiom-1
 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)
コード例 #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])
コード例 #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])
コード例 #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)
コード例 #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)
コード例 #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])
コード例 #9
0
ファイル: test_sequence.py プロジェクト: DalavanCloud/axiom-1
 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)
コード例 #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])
コード例 #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)
コード例 #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])
コード例 #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)
コード例 #14
0
ファイル: test_sequence.py プロジェクト: DalavanCloud/axiom-1
 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])
コード例 #15
0
ファイル: test_sequence.py プロジェクト: DalavanCloud/axiom-1
 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])
コード例 #16
0
ファイル: test_sequence.py プロジェクト: DalavanCloud/axiom-1
 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)
コード例 #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)
コード例 #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)
コード例 #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)
コード例 #20
0
ファイル: test_sequence.py プロジェクト: DalavanCloud/axiom-1
    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])
コード例 #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])
コード例 #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])
コード例 #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)
コード例 #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)
コード例 #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])
コード例 #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])
コード例 #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])
コード例 #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)
コード例 #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)
コード例 #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)