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
[email protected]
https://lists.sourceforge.net/lists/listinfo/rpy-list