Пример #1
0
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")
Пример #2
0
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)
Пример #3
0
 def __init__(self):
     if R._instance is None:
         rinterface.initr()
         R._instance = self
     else:
         pass
Пример #4
0
 def __init__(self):
     if R._instance is None:
         rinterface.initr()
         R._instance = self
     else:
         pass
Пример #5
0
 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()
Пример #6
0
 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()