def test_setitem_outffbound(): vec = ri.IntSexpVector(range(5)) with pytest.raises(IndexError): vec.__setitem__(10, 6)
def test_object_dispatch_rawvector(): rawfunc = rinterface.baseenv.find('raw') rawvec = rawfunc(rinterface.IntSexpVector((10, ))) assert rinterface.RTYPES.RAWSXP == rawvec.typeof
def test_rclass_set_invalid(): sexp = rinterface.IntSexpVector([1, 2, 3]) with pytest.raises(TypeError): sexp.rclass = rinterface.StrSexpVector(123)
def test_int(): sexp = ri.IntSexpVector([ 1, ]) isInteger = ri.globalenv.find("is.integer") assert isInteger(sexp)[0]
def test_float(): sexp = ri.IntSexpVector([ 1.0, ]) isNumeric = ri.globalenv.find("is.numeric") assert isNumeric(sexp)[0]
def testIndexInteger(self): x = ri.IntSexpVector((1,2,3)) self.assertEqual(0, x.index(1)) self.assertEqual(2, x.index(3))
def npint_py2rpy(obj): return rinterface.IntSexpVector([obj, ])
def test_getslice_negative(): vec = ri.IntSexpVector([1, 2, 3]) vec_s = vec[-2:-1] assert len(vec_s) == 1 assert vec_s[0] == 2
def test_setslice(): vec = ri.IntSexpVector([1, 2, 3]) vec[0:2] = ri.IntSexpVector([11, 12]) assert len(vec) == 3 assert vec[0] == 11 assert vec[1] == 12
def test_setitem(): vec = ri.IntSexpVector(range(1, 10)) vec[1] = 100 assert vec[1] == 100
def test_getslice(): vec = ri.IntSexpVector([1, 2, 3]) vec = vec[0:2] assert len(vec) == 2 assert vec[0] == 1 assert vec[1] == 2
def test_getitem(): vec = ri.IntSexpVector(range(1, 10)) assert vec[1] == 2
def test_init_from_seq_invalid_item(): seq = (1, 'b', 3) with pytest.raises(ValueError): ri.IntSexpVector(seq)
def test_array_protocol(): v = ri.IntSexpVector(range(10)) ai = v.__array_interface__ assert ai['version'] == 3
def testSetSliceInt(self): vec = ri.IntSexpVector([1,2,3]) vec[0:2] = ri.IntSexpVector([11,12]) self.assertEqual(3, len(vec)) self.assertEqual(11, vec[0]) self.assertEqual(12, vec[1])
def testInitFromSeq(self): seq = range(3) v = ri.IntSexpVector(seq) self.assertEqual(3, len(v)) for x,y in zip(seq, v): self.assertEqual(x, y)
def testSetSliceIntNegative(self): vec = ri.IntSexpVector([1,2,3]) vec[-2:-1] = ri.IntSexpVector([33,]) self.assertEqual(3, len(vec)) self.assertEqual(33, vec[1])
def testInitFromIter(self): it = range(3) v = ri.IntSexpVector(it) self.assertEqual(3, len(v)) for x,y in zip(range(3), v): self.assertEqual(x, y)
def testNAIntegerInVector(self): na_int = ri.NAIntegerType() x = ri.IntSexpVector((1, na_int, 2)) self.assertTrue(x[1] is na_int) self.assertEqual(1, x[0]) self.assertEqual(2, x[2])
def testInt(self): sexp = ri.IntSexpVector([1, ]) isInteger = ri.globalenv.get("is.integer") ok = isInteger(sexp)[0] self.assertTrue(ok)
def test_NAInteger_in_vector(): na_int = ri.NA_Integer x = ri.IntSexpVector((1, na_int, 2)) assert x[1] is na_int assert x[0] == 1 assert x[2] == 2
def testDel(self): v = ri.IntSexpVector(range(10)) self.assertRaises(TypeError, v.__delitem__, 3)
def test_missing_R_Preserve_object_bug(): rgc = ri.baseenv['gc'] xx = range(100000) x = ri.IntSexpVector(xx) rgc() assert x[0] == 0
def testFloat(self): sexp = ri.IntSexpVector([1.0, ]) isNumeric = ri.globalenv.get("is.numeric") ok = isNumeric(sexp)[0] self.assertTrue(ok)
def test_del(): v = ri.IntSexpVector(range(10)) with pytest.raises(AttributeError): v.__delitem__(3)
def testGetSliceInt(self): vec = ri.IntSexpVector([1,2,3]) vec = vec[0:2] self.assertEqual(2, len(vec)) self.assertEqual(1, vec[0]) self.assertEqual(2, vec[1])
def testObjectDispatchRawVector(self): raw = rinterface.baseenv.get('raw') rawvec = raw(rinterface.IntSexpVector((10, ))) self.assertEquals(rinterface.RAWSXP, rawvec.typeof)
def testGetSliceIntNegative(self): vec = ri.IntSexpVector([1,2,3]) vec = vec[-2:-1] self.assertEqual(1, len(vec)) self.assertEqual(2, vec[0])
def test_list_attrs(cls): x = cls((1, 2, 3)) assert len(x.list_attrs()) == 0 x.do_slot_assign('a', rinterface.IntSexpVector((33, ))) assert len(x.list_attrs()) == 1 assert 'a' in x.list_attrs()
def test_init_from_iter(): seq = range(3) v = ri.IntSexpVector(seq) assert len(v) == 3 for x, y in zip(seq, v): assert x == y