Revision: 410 http://rpy.svn.sourceforge.net/rpy/?rev=410&view=rev Author: lgautier Date: 2008-03-02 11:49:05 -0800 (Sun, 02 Mar 2008)
Log Message: ----------- First unit tests Added Paths: ----------- trunk/sandbox/rpy_nextgen/rinterface/tests/test_SexpEnvironment.py trunk/sandbox/rpy_nextgen/rinterface/tests/test_SexpVector.py Added: trunk/sandbox/rpy_nextgen/rinterface/tests/test_SexpEnvironment.py =================================================================== --- trunk/sandbox/rpy_nextgen/rinterface/tests/test_SexpEnvironment.py (rev 0) +++ trunk/sandbox/rpy_nextgen/rinterface/tests/test_SexpEnvironment.py 2008-03-02 19:49:05 UTC (rev 410) @@ -0,0 +1,39 @@ +import unittest +import rinterface + +#FIXME: can starting and stopping an embedded R be done several times ? +rinterface.initEmbeddedR("foo", "--vanilla", "--no-save") + +class SexpEnvironmentTestCase(unittest.TestCase): + #def setUpt(self): + # rinterface.initEmbeddedR("foo", "--vanilla", "--no-save") + + #def tearDown(self): + # rinterface.endEmbeddedR(0); + + def testGlobalEnv(self): + ok = isinstance(rinterface.globalEnv, rinterface.SexpEnvironment) + self.assertTrue(ok) + + def testGet(self): + help_R = rinterface.globalEnv.get("help") + ok = isinstance(help_R, rinterface.SexpClosure) + self.assertTrue(ok) + + pi_R = rinterface.globalEnv.get("pi") + ok = isinstance(pi_R, rinterface.SexpVector) + self.assertTrue(ok) + + ge_R = rinterface.globalEnv.get(".GlobalEnv") + ok = isinstance(ge_R, rinterface.SexpEnvironment) + self.assertTrue(ok) + + self.assertRaises(LookupError, rinterface.globalEnv.get, "survfit") + rinterface.globalEnv.get("library")(rinterface.SexpVector(["survival", ], + rinterface.STRSXP)) + sfit_R = rinterface.globalEnv.get("survfit") + ok = isinstance(sfit_R, rinterface.SexpClosure) + self.assertTrue(ok) + +if __name__ == '__main__': + unittest.main() Added: trunk/sandbox/rpy_nextgen/rinterface/tests/test_SexpVector.py =================================================================== --- trunk/sandbox/rpy_nextgen/rinterface/tests/test_SexpVector.py (rev 0) +++ trunk/sandbox/rpy_nextgen/rinterface/tests/test_SexpVector.py 2008-03-02 19:49:05 UTC (rev 410) @@ -0,0 +1,33 @@ +import unittest +import rinterface + +#FIXME: can starting and stopping an embedded R be done several times ? +rinterface.initEmbeddedR("foo", "--vanilla", "--no-save") + +class SexpVectorTestCase(unittest.TestCase): + #def setUpt(self): + # rinterface.initEmbeddedR("foo", "--no-save") + + #def tearDown(self): + # rinterface.endEmbeddedR(1); + + def testGetItem(self): + letters_R = rinterface.globalEnv.get("letters") + letters = (('a', 0), ('b', 1), ('c', 2), ('x', 23), ('y', 24), ('z', 25)) + for l, i in letters: + ok = isinstance(letters_R, rinterface.SexpClosure) + self.assertTrue(letters_R[i] == l) + + as_list_R = rinterface.globalEnv.get("as.list") + seq_R = rinterface.globalEnv.get("seq") + + mySeq = seq_R(rinterface.SexpVector([0, ], rinterface.INTSXP), + rinterface.SexpVector([10, ], rinterface.INTSXP)) + + myList = as_list_R(mySeq) + + for i, li in enumerate(Rlist): + self.assertEquals(i, Rlist[i][0]) + +if __name__ == '__main__': + unittest.main() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ rpy-list mailing list rpy-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rpy-list