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()
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_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]
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()
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)
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)
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)
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)