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

Reply via email to