import unittest import sys import rpy3.rinterface as ri ri.initr() def evalr(string): rstring = ri.StrSexpVector((string, )) res = ri.baseenv["parse"](text = rstring) res = ri.baseenv["eval"](res) return res def floatEqual(x, y, epsilon = 0.00000001): return abs(x - y) < epsilon class WrapperSexpVectorTestCase(unittest.TestCase): def testInt(self): sexp = ri.IntSexpVector([1, ]) isInteger = ri.globalenv.get("is.integer") ok = isInteger(sexp)[0] self.assertTrue(ok) def testFloat(self): sexp = ri.IntSexpVector([1.0, ]) isNumeric = ri.globalenv.get("is.numeric") ok = isNumeric(sexp)[0] self.assertTrue(ok) def testStr(self): sexp = ri.StrSexpVector(["a", ]) isStr = ri.globalenv.get("is.character")
import unittest import rpy3.rinterface as rinterface import rpy3.rinterface.rpy_device as rdevice import sys, os, subprocess, time, tempfile, signal import tempfile rinterface.initr() class AbstractDeviceTestCase(unittest.TestCase): def setUp(self): self.gd = rdevice.GraphicalDevice() def tearDown(self): self.gd = None def _testGetSetBooleanAttr(self, name): gd = self.gd setattr(gd, name, True) self.assertTrue(getattr(gd, name)) setattr(gd, name, False) self.assertFalse(getattr(gd, name)) self.assertRaises(TypeError, setattr, gd, name, None) def _testGetSetDoubleAttr(self, name): gd = self.gd gd = rdevice.GraphicalDevice() setattr(gd, name, 100.0) self.assertTrue(getattr(gd, name)) setattr(gd, name, 0.0) self.assertFalse(getattr(gd, name)) self.assertRaises(TypeError, setattr, gd, name, None)
def __init__(self): if R._instance is None: rinterface.initr() R._instance = self else: pass
def testCallErrorWhenEndedR(self): self.assertTrue(False) # worked when tested, but calling endEmbeddedR causes trouble t = rinterface.baseNameSpaceEnv['date'] rinterface.endr(1) self.assertRaises(RuntimeError, t) rinterface.initr()
def testNewWithoutInit(self): self.assertTrue(False) # worked when tested, but calling endEmbeddedR causes trouble ri.endr(1) self.assertRaises(RuntimeError, ri.SexpVector, [1,2], ri.INTSXP) #FIXME: trouble... does not initialize R when failing the test ri.initr()