Exemple #1
0
 def test_setslice_int_range(self):
     space = self.space
     w = space.wrap
     l = W_ListObject(space, [w(1), w(2), w(3)])
     assert isinstance(l.strategy, IntegerListStrategy)
     l.setslice(0, 1, 2, make_range_list(space, 5, 1, 4))
     assert isinstance(l.strategy, IntegerListStrategy)
 def test_empty_setslice_with_objectlist(self):
     l = W_ListObject(self.space, [])
     o = W_ListObject(self.space, [self.space.wrap(1), self.space.wrap("2"), self.space.wrap(3)])
     l.setslice(0, 1, o.length(), o)
     assert l.getitems() == o.getitems()
     l.append(self.space.wrap(17))
     assert l.getitems() != o.getitems()
Exemple #3
0
 def test_setslice_int_range(self):
     space = self.space
     w = space.wrap
     l = W_ListObject(space, [w(1), w(2), w(3)])
     assert isinstance(l.strategy, IntegerListStrategy)
     l.setslice(0, 1, 2, make_range_list(space, 5, 1, 4))
     assert isinstance(l.strategy, IntegerListStrategy)
Exemple #4
0
 def test_int_or_float_setslice_mixed_5(self):
     space = self.space
     w_l1 = W_ListObject(space, [space.wrap(0), space.wrap(1.2)])
     w_l2 = W_ListObject(space, [space.wrap(32), space.wrap(45)])
     assert isinstance(w_l1.strategy, IntOrFloatListStrategy)
     assert isinstance(w_l2.strategy, IntegerListStrategy)
     w_l1.setslice(0, 1, 1, w_l2)
     assert isinstance(w_l1.strategy, IntOrFloatListStrategy)
     assert space.unwrap(w_l1) == [32, 45, 1.2]
Exemple #5
0
    def test_empty_setslice_with_objectlist(self):
        space = self.space
        w = space.wrap

        l = W_ListObject(space, [])
        o = W_ListObject(space, [space.wrap(1), space.wrap("2"), space.wrap(3)])
        l.setslice(0, 1, o.length(), o)
        assert l.getitems() == o.getitems()
        l.append(space.wrap(17))
        assert l.getitems() != o.getitems()
Exemple #6
0
 def test_int_or_float_setslice_mixed_5_overflow(self):
     if sys.maxint == 2147483647:
         py.test.skip("only on 64-bit")
     space = self.space
     ovf1 = 2 ** 35
     w_l1 = W_ListObject(space, [space.wrap(0), space.wrap(1.2)])
     w_l2 = W_ListObject(space, [space.wrap(32), space.wrap(ovf1)])
     assert isinstance(w_l1.strategy, IntOrFloatListStrategy)
     assert isinstance(w_l2.strategy, IntegerListStrategy)
     w_l1.setslice(0, 1, 1, w_l2)
     assert isinstance(w_l1.strategy, ObjectListStrategy)
     assert space.unwrap(w_l1) == [32, ovf1, 1.2]
    def test_setslice(self):
        l = W_ListObject(self.space, [])
        assert isinstance(l.strategy, EmptyListStrategy)
        l.setslice(0, 1, 2, W_ListObject(self.space, [self.space.wrap(1), self.space.wrap(2), self.space.wrap(3)]))
        assert isinstance(l.strategy, IntegerListStrategy)

        l = W_ListObject(self.space, [self.space.wrap(1), self.space.wrap(2), self.space.wrap(3)])
        assert isinstance(l.strategy, IntegerListStrategy)
        l.setslice(0, 1, 2, W_ListObject(self.space, [self.space.wrap(4), self.space.wrap(5), self.space.wrap(6)]))
        assert isinstance(l.strategy, IntegerListStrategy)

        l = W_ListObject(self.space, [self.space.wrap(1), self.space.wrap('b'), self.space.wrap(3)])
        assert isinstance(l.strategy, ObjectListStrategy)
        l.setslice(0, 1, 2, W_ListObject(self.space, [self.space.wrap(1), self.space.wrap(2), self.space.wrap(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)

        l = W_ListObject(self.space, [self.space.wrap(1), self.space.wrap(2), self.space.wrap(3)])
        assert isinstance(l.strategy, IntegerListStrategy)
        l.setslice(0, 1, 2, W_ListObject(self.space, [self.space.wrap('a'), self.space.wrap('b'), self.space.wrap('c')]))
        assert isinstance(l.strategy, ObjectListStrategy)
Exemple #8
0
    def test_setslice(self):
        l = W_ListObject(self.space, [])
        assert isinstance(l.strategy, EmptyListStrategy)
        l.setslice(
            0, 1, 2,
            W_ListObject(
                self.space,
                [self.space.wrap(1),
                 self.space.wrap(2),
                 self.space.wrap(3)]))
        assert isinstance(l.strategy, IntegerListStrategy)

        # IntegerStrategy to IntegerStrategy
        l = W_ListObject(
            self.space,
            [self.space.wrap(1),
             self.space.wrap(2),
             self.space.wrap(3)])
        assert isinstance(l.strategy, IntegerListStrategy)
        l.setslice(
            0, 1, 2,
            W_ListObject(
                self.space,
                [self.space.wrap(4),
                 self.space.wrap(5),
                 self.space.wrap(6)]))
        assert isinstance(l.strategy, IntegerListStrategy)

        # ObjectStrategy to ObjectStrategy
        l = W_ListObject(
            self.space,
            [self.space.wrap(1),
             self.space.wrap('b'),
             self.space.wrap(3)])
        assert isinstance(l.strategy, ObjectListStrategy)
        l.setslice(
            0, 1, 2,
            W_ListObject(
                self.space,
                [self.space.wrap(1),
                 self.space.wrap(2),
                 self.space.wrap(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)

        # IntegerStrategy to ObjectStrategy
        l = W_ListObject(
            self.space,
            [self.space.wrap(1),
             self.space.wrap(2),
             self.space.wrap(3)])
        assert isinstance(l.strategy, IntegerListStrategy)
        l.setslice(
            0, 1, 2,
            W_ListObject(self.space, [
                self.space.wrap('a'),
                self.space.wrap('b'),
                self.space.wrap('c')
            ]))
        assert isinstance(l.strategy, ObjectListStrategy)

        # StringStrategy to ObjectStrategy
        l = W_ListObject(
            self.space,
            [self.space.wrap('a'),
             self.space.wrap('b'),
             self.space.wrap('c')])
        assert isinstance(l.strategy, StringListStrategy)
        l.setslice(
            0, 1, 2,
            W_ListObject(
                self.space,
                [self.space.wrap(1),
                 self.space.wrap(2),
                 self.space.wrap(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)

        # FloatStrategy to ObjectStrategy
        l = W_ListObject(
            self.space,
            [self.space.wrap(1.1),
             self.space.wrap(2.2),
             self.space.wrap(3.3)])
        assert isinstance(l.strategy, FloatListStrategy)
        l.setslice(
            0, 1, 2,
            W_ListObject(
                self.space,
                [self.space.wrap('a'),
                 self.space.wrap(2),
                 self.space.wrap(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)
    def test_setslice(self):
        l = W_ListObject(self.space, [])
        assert isinstance(l.strategy, EmptyListStrategy)
        l.setslice(0, 1, 2, W_ListObject(self.space, [self.space.wrap(1), self.space.wrap(2), self.space.wrap(3)]))
        assert isinstance(l.strategy, IntegerListStrategy)

        # IntegerStrategy to IntegerStrategy
        l = W_ListObject(self.space, [self.space.wrap(1), self.space.wrap(2), self.space.wrap(3)])
        assert isinstance(l.strategy, IntegerListStrategy)
        l.setslice(0, 1, 2, W_ListObject(self.space, [self.space.wrap(4), self.space.wrap(5), self.space.wrap(6)]))
        assert isinstance(l.strategy, IntegerListStrategy)

        # ObjectStrategy to ObjectStrategy
        l = W_ListObject(self.space, [self.space.wrap(1), self.space.wrap('b'), self.space.wrap(3)])
        assert isinstance(l.strategy, ObjectListStrategy)
        l.setslice(0, 1, 2, W_ListObject(self.space, [self.space.wrap(1), self.space.wrap(2), self.space.wrap(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)

        # IntegerStrategy to ObjectStrategy
        l = W_ListObject(self.space, [self.space.wrap(1), self.space.wrap(2), self.space.wrap(3)])
        assert isinstance(l.strategy, IntegerListStrategy)
        l.setslice(0, 1, 2, W_ListObject(self.space, [self.space.wrap('a'), self.space.wrap('b'), self.space.wrap('c')]))
        assert isinstance(l.strategy, ObjectListStrategy)

        # StringStrategy to ObjectStrategy
        l = W_ListObject(self.space, [self.space.wrap('a'), self.space.wrap('b'), self.space.wrap('c')])
        assert isinstance(l.strategy, StringListStrategy)
        l.setslice(0, 1, 2, W_ListObject(self.space, [self.space.wrap(1), self.space.wrap(2), self.space.wrap(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)

        # FloatStrategy to ObjectStrategy
        l = W_ListObject(self.space, [self.space.wrap(1.1), self.space.wrap(2.2), self.space.wrap(3.3)])
        assert isinstance(l.strategy, FloatListStrategy)
        l.setslice(0, 1, 2, W_ListObject(self.space, [self.space.wrap('a'), self.space.wrap(2), self.space.wrap(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)
Exemple #10
0
    def test_setslice(self):
        space = self.space
        w = space.wrap

        l = W_ListObject(space, [])
        assert isinstance(l.strategy, EmptyListStrategy)
        l.setslice(0, 1, 2, W_ListObject(space, [w(1), w(2), w(3)]))
        assert isinstance(l.strategy, IntegerListStrategy)

        # IntegerStrategy to IntegerStrategy
        l = W_ListObject(space, [w(1), w(2), w(3)])
        assert isinstance(l.strategy, IntegerListStrategy)
        l.setslice(0, 1, 2, W_ListObject(space, [w(4), w(5), w(6)]))
        assert isinstance(l.strategy, IntegerListStrategy)

        # ObjectStrategy to ObjectStrategy
        l = W_ListObject(space, [w(1), w('b'), w(3)])
        assert isinstance(l.strategy, ObjectListStrategy)
        l.setslice(0, 1, 2, W_ListObject(space, [w(1), w(2), w(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)

        # IntegerStrategy to ObjectStrategy
        l = W_ListObject(space, [w(1), w(2), w(3)])
        assert isinstance(l.strategy, IntegerListStrategy)
        l.setslice(0, 1, 2, W_ListObject(space, [w('a'), w('b'), w('c')]))
        assert isinstance(l.strategy, ObjectListStrategy)

        # BytesStrategy to ObjectStrategy
        l = W_ListObject(space, [w('a'), w('b'), w('c')])
        assert isinstance(l.strategy, BytesListStrategy)
        l.setslice(0, 1, 2, W_ListObject(space, [w(1), w(2), w(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)

        # UnicodeStrategy to ObjectStrategy
        l = W_ListObject(space, [w(u'a'), w(u'b'), w(u'c')])
        assert isinstance(l.strategy, UnicodeListStrategy)
        l.setslice(0, 1, 2, W_ListObject(space, [w(1), w(2), w(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)

        # FloatStrategy to ObjectStrategy
        l = W_ListObject(space, [w(1.1), w(2.2), w(3.3)])
        assert isinstance(l.strategy, FloatListStrategy)
        l.setslice(0, 1, 2, W_ListObject(space, [w('a'), w(2), w(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)
Exemple #11
0
    def test_setslice(self):
        space = self.space
        w = space.wrap
        wb = space.wrapbytes

        l = W_ListObject(space, [])
        assert isinstance(l.strategy, EmptyListStrategy)
        l.setslice(0, 1, 2, W_ListObject(space, [w(1), w(2), w(3)]))
        assert isinstance(l.strategy, IntegerListStrategy)

        # IntegerStrategy to IntegerStrategy
        l = W_ListObject(space, [w(1), w(2), w(3)])
        assert isinstance(l.strategy, IntegerListStrategy)
        l.setslice(0, 1, 2, W_ListObject(space, [w(4), w(5), w(6)]))
        assert isinstance(l.strategy, IntegerListStrategy)

        # ObjectStrategy to ObjectStrategy
        l = W_ListObject(space, [w(1), w('b'), w(3)])
        assert isinstance(l.strategy, ObjectListStrategy)
        l.setslice(0, 1, 2, W_ListObject(space, [w(1), w(2), w(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)

        # IntegerStrategy to ObjectStrategy
        l = W_ListObject(space, [w(1), w(2), w(3)])
        assert isinstance(l.strategy, IntegerListStrategy)
        l.setslice(0, 1, 2, W_ListObject(space, [w('a'), w('b'), w('c')]))
        assert isinstance(l.strategy, ObjectListStrategy)

        # BytesStrategy to ObjectStrategy
        l = W_ListObject(space, [wb('a'), wb('b'), wb('c')])
        assert isinstance(l.strategy, BytesListStrategy)
        l.setslice(0, 1, 2, W_ListObject(space, [w(1), w(2), w(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)

        # UnicodeStrategy to ObjectStrategy
        l = W_ListObject(space, [w(u'a'), w(u'b'), w(u'c')])
        assert isinstance(l.strategy, UnicodeListStrategy)
        l.setslice(0, 1, 2, W_ListObject(space, [w(1), w(2), w(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)

        # FloatStrategy to ObjectStrategy
        l = W_ListObject(space, [w(1.1), w(2.2), w(3.3)])
        assert isinstance(l.strategy, FloatListStrategy)
        l.setslice(0, 1, 2, W_ListObject(space, [w('a'), w(2), w(3)]))
        assert isinstance(l.strategy, ObjectListStrategy)