[Python-checkins] python/dist/src/Lib/test test_userstring.py, 1.14, 1.15

doerwalter at users.sourceforge.net doerwalter at users.sourceforge.net
Thu Feb 17 23:03:40 CET 2005


Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11375/Lib/test

Modified Files:
	test_userstring.py 
Log Message:
Add tests for the methods added by UserString.MutableString.


Index: test_userstring.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_userstring.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- test_userstring.py	17 Feb 2005 18:51:48 -0000	1.14
+++ test_userstring.py	17 Feb 2005 22:03:31 -0000	1.15
@@ -50,6 +50,68 @@
     def test_hash(self):
         pass
 
+    def test_setitem(self):
+        s = self.type2test("foo")
+        self.assertRaises(IndexError, s.__setitem__, -1, "bar")
+        self.assertRaises(IndexError, s.__setitem__, 3, "bar")
+        s[0] = "bar"
+        self.assertEqual(s, "baroo")
+        s[4] = "foo"
+        self.assertEqual(s, "barofoo")
+
+    def test_delitem(self):
+        s = self.type2test("foo")
+        self.assertRaises(IndexError, s.__setitem__, -1, "bar")
+        self.assertRaises(IndexError, s.__setitem__, 3, "bar")
+        del s[0]
+        self.assertEqual(s, "oo")
+        del s[1]
+        self.assertEqual(s, "o")
+        del s[0]
+        self.assertEqual(s, "")
+
+    def test_setslice(self):
+        s = self.type2test("foo")
+        s[:] = "bar"
+        self.assertEqual(s, "bar")
+        s[1:2] = "foo"
+        self.assertEqual(s, "bfoor")
+        s[1:-1] = UserString("a")
+        self.assertEqual(s, "bar")
+        s[0:10] = 42
+        self.assertEqual(s, "42")
+
+    def test_delslice(self):
+        s = self.type2test("foobar")
+        del s[3:10]
+        self.assertEqual(s, "foo")
+        del s[-1:10]
+        self.assertEqual(s, "fo")
+
+    def test_immutable(self):
+        s = self.type2test("foobar")
+        s2 = s.immutable()
+        self.assertEqual(s, s2)
+        self.assert_(isinstance(s2, UserString))
+
+    def test_iadd(self):
+        s = self.type2test("foo")
+        s += "bar"
+        self.assertEqual(s, "foobar")
+        s += UserString("baz")
+        self.assertEqual(s, "foobarbaz")
+        s += 42
+        self.assertEqual(s, "foobarbaz42")
+
+    def test_imul(self):
+        s = self.type2test("foo")
+        s *= 1
+        self.assertEqual(s, "foo")
+        s *= 2
+        self.assertEqual(s, "foofoo")
+        s *= -1
+        self.assertEqual(s, "")
+
 def test_main():
     test_support.run_unittest(UserStringTest, MutableStringTest)
 



More information about the Python-checkins mailing list