Revision: 603
          http://rpy.svn.sourceforge.net/rpy/?rev=603&view=rev
Author:   lgautier
Date:     2008-08-03 09:11:31 +0000 (Sun, 03 Aug 2008)

Log Message:
-----------
Implemented __setslice__ and added tests

Modified Paths:
--------------
    branches/rpy_nextgen/rpy/rlike/container.py
    branches/rpy_nextgen/rpy/rlike/tests/test_container.py

Modified: branches/rpy_nextgen/rpy/rlike/container.py
===================================================================
--- branches/rpy_nextgen/rpy/rlike/container.py 2008-08-03 08:48:24 UTC (rev 
602)
+++ branches/rpy_nextgen/rpy/rlike/container.py 2008-08-03 09:11:31 UTC (rev 
603)
@@ -171,8 +171,9 @@
             raise ValueError("Parameter 'tags' must be either a list or 
'None'.")
 
     def __setslice__(self, i, j, y):
-        #FIXME: implement
-        raise Exception("Not yet implemented.")
+        super(TaggedList, self).__setslice__(i, j, y)
+        #FIXME: handle TaggedList ?
+        #self.__tags.__setslice__(i, j, [None, ])
 
     def append(self, obj, tag = None):
         super(TaggedList, self).append(obj)

Modified: branches/rpy_nextgen/rpy/rlike/tests/test_container.py
===================================================================
--- branches/rpy_nextgen/rpy/rlike/tests/test_container.py      2008-08-03 
08:48:24 UTC (rev 602)
+++ branches/rpy_nextgen/rpy/rlike/tests/test_container.py      2008-08-03 
09:11:31 UTC (rev 603)
@@ -93,7 +93,13 @@
         self.assertEquals(tuple(tl), (1, 3))
 
     def test__delslice__(self):
-        self.assertTrue(False) # no test (yet)
+        tn = ['a', 'b', 'c', 'd']
+        tv = [1,2,3,4]
+        tl = rlc.TaggedList(tv, tags = tn)
+        del tl[1:3]
+        self.assertEquals(2, len(tl))
+        self.assertEquals(tl.tags(), ('a', 'd'))
+        self.assertEquals(tuple(tl), (1, 4))
 
     def test__iadd__(self):
         tn = ['a', 'b', 'c']
@@ -119,11 +125,16 @@
         tl = rlc.TaggedList(tv, tags = tn)
 
         self.assertRaises(TypeError, rlc.TaggedList, tv, tags=123)
-        self.assertRaises(ValueError, rlc.TaggedList, tv, tags=('a', 'b'))
-        
+        self.assertRaises(ValueError, rlc.TaggedList, tv, tags=('a', 'b'))     
   
 
     def test__setslice__(self):
-        self.assertTrue(False) # no test (yet)
+        tn = ['a', 'b', 'c', 'd']
+        tv = [1,2,3,4]
+        tl = rlc.TaggedList(tv, tags = tn)
+        tl[1:3] = [5, 6]
+        self.assertEquals(4, len(tl))
+        self.assertEquals(tl.tags(), ('a', 'b', 'c', 'd'))
+        self.assertEquals(tuple(tl), (1, 5, 6, 4))
 
     def testappend(self):
         tn = ['a', 'b', 'c']
@@ -204,7 +215,7 @@
         self.assertEquals(tuple(tl), (3, 2, 1))
 
     def testsort(self):
-        self.assertTrue(False) # no test (yet)
+        self.assertTrue(False) # not implemented (yet)
     
     def testtags(self):
         tn = ['a', 'b', 'c']


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 the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
rpy-list mailing list
rpy-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rpy-list

Reply via email to