[Python-checkins] python/dist/src/Lib/test test_longexp.py, 1.8,
1.9 test_pep263.py, 1.2, 1.3 test_sets.py, 1.26,
1.27 test_structseq.py, 1.4, 1.5
rhettinger at users.sourceforge.net
rhettinger at users.sourceforge.net
Sat Aug 30 16:54:57 EDT 2003
Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1:/tmp/cvs-serv28037
Modified Files:
test_longexp.py test_pep263.py test_sets.py test_structseq.py
Log Message:
SF patch #736962: Port tests to unittest
(Contributed by Walter Dörwald).
* Convert three test modules to unittest format.
* Expanded coverage in test_structseq.py.
* Raymond added a new test in test_sets.py
Index: test_longexp.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_longexp.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** test_longexp.py 15 Jul 2002 12:03:19 -0000 1.8
--- test_longexp.py 30 Aug 2003 22:54:55 -0000 1.9
***************
*** 1,5 ****
! REPS = 65580
! l = eval("[" + "2," * REPS + "]")
! print len(l)
--- 1,14 ----
+ import unittest
+ from test import test_support
! class LongExpText(unittest.TestCase):
! def test_longexp(self):
! REPS = 65580
! l = eval("[" + "2," * REPS + "]")
! self.assertEqual(len(l), REPS)
! def test_main():
! test_support.run_unittest(LongExpText)
!
! if __name__=="__main__":
! test_main()
Index: test_pep263.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_pep263.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** test_pep263.py 9 Sep 2002 06:17:05 -0000 1.2
--- test_pep263.py 30 Aug 2003 22:54:55 -0000 1.3
***************
*** 1,3 ****
! #! -*- coding: koi8-r -*-
! assert u"ðÉÔÏÎ".encode("utf-8") == '\xd0\x9f\xd0\xb8\xd1\x82\xd0\xbe\xd0\xbd'
! assert u"\ð".encode("utf-8") == '\\\xd0\x9f'
--- 1,22 ----
! #! -*- coding: koi8-r -*-
!
! import unittest
! from test import test_support
!
! class PEP263Test(unittest.TestCase):
!
! def test_pep263(self):
! self.assertEqual(
! u"ðÉÔÏÎ".encode("utf-8"),
! '\xd0\x9f\xd0\xb8\xd1\x82\xd0\xbe\xd0\xbd'
! )
! self.assertEqual(
! u"\ð".encode("utf-8"),
! '\\\xd0\x9f'
! )
!
! def test_main():
! test_support.run_unittest(PEP263Test)
!
! if __name__=="__main__":
! test_main()
Index: test_sets.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_sets.py,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** test_sets.py 17 Aug 2003 08:34:09 -0000 1.26
--- test_sets.py 30 Aug 2003 22:54:55 -0000 1.27
***************
*** 597,600 ****
--- 597,601 ----
else:
self.assertRaises(TypeError, self.set.difference, self.other)
+
#------------------------------------------------------------------------------
***************
*** 648,651 ****
--- 649,660 ----
self.otherIsIterable = True
+ #------------------------------------------------------------------------------
+
+ class TestOnlySetsofSets(TestOnlySetsInBinaryOps):
+ def setUp(self):
+ self.set = Set((1, 2, 3))
+ self.other = [Set('ab'), ImmutableSet('cd')]
+ self.otherIsIterable = True
+
#==============================================================================
***************
*** 802,805 ****
--- 811,815 ----
TestOnlySetsString,
TestOnlySetsGenerator,
+ TestOnlySetsofSets,
TestCopyingEmpty,
TestCopyingSingleton,
Index: test_structseq.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_structseq.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** test_structseq.py 23 Jul 2002 19:04:04 -0000 1.4
--- test_structseq.py 30 Aug 2003 22:54:55 -0000 1.5
***************
*** 1,28 ****
! from test.test_support import vereq
import time
! t = time.gmtime()
! astuple = tuple(t)
! vereq(len(t), len(astuple))
! vereq(t, astuple)
! # Check that slicing works the same way; at one point, slicing t[i:j] with
! # 0 < i < j could produce NULLs in the result.
! for i in range(-len(t), len(t)):
! for j in range(-len(t), len(t)):
! vereq(t[i:j], astuple[i:j])
! # Devious code could crash structseqs' contructors
! class C:
! def __getitem__(self, i):
! raise IndexError
! def __len__(self):
! return 9
! try:
! repr(time.struct_time(C()))
! except:
! pass
! # XXX more needed
--- 1,104 ----
! import unittest
! from test import test_support
import time
! class StructSeqTest(unittest.TestCase):
! def test_tuple(self):
! t = time.gmtime()
! astuple = tuple(t)
! self.assertEqual(len(t), len(astuple))
! self.assertEqual(t, astuple)
! # Check that slicing works the same way; at one point, slicing t[i:j] with
! # 0 < i < j could produce NULLs in the result.
! for i in xrange(-len(t), len(t)):
! self.assertEqual(t[i:], astuple[i:])
! for j in xrange(-len(t), len(t)):
! self.assertEqual(t[i:j], astuple[i:j])
! for j in xrange(-len(t), len(t)):
! self.assertEqual(t[:j], astuple[:j])
! self.assertRaises(IndexError, t.__getitem__, -len(t)-1)
! self.assertRaises(IndexError, t.__getitem__, len(t))
! for i in xrange(-len(t), len(t)-1):
! self.assertEqual(t[i], astuple[i])
!
! def test_repr(self):
! t = time.gmtime()
! repr(t)
!
! def test_concat(self):
! t1 = time.gmtime()
! t2 = t1 + tuple(t1)
! for i in xrange(len(t1)):
! self.assertEqual(t2[i], t2[i+len(t1)])
!
! def test_repeat(self):
! t1 = time.gmtime()
! t2 = 3 * t1
! for i in xrange(len(t1)):
! self.assertEqual(t2[i], t2[i+len(t1)])
! self.assertEqual(t2[i], t2[i+2*len(t1)])
!
! def test_contains(self):
! t1 = time.gmtime()
! for item in t1:
! self.assert_(item in t1)
! self.assert_(-42 not in t1)
!
! def test_hash(self):
! t1 = time.gmtime()
! self.assertEqual(hash(t1), hash(tuple(t1)))
!
! def test_cmp(self):
! t1 = time.gmtime()
! t2 = type(t1)(t1)
! self.assertEqual(t1, t2)
! self.assert_(not (t1 < t2))
! self.assert_(t1 <= t2)
! self.assert_(not (t1 > t2))
! self.assert_(t1 >= t2)
! self.assert_(not (t1 != t2))
!
! def test_fields(self):
! t = time.gmtime()
! self.assertEqual(len(t), t.n_fields)
! self.assertEqual(t.n_fields, t.n_sequence_fields+t.n_unnamed_fields)
!
! def test_constructor(self):
! t = time.struct_time
!
! self.assertRaises(TypeError, t)
! self.assertRaises(TypeError, t, None)
! self.assertRaises(TypeError, t, "123")
! self.assertRaises(TypeError, t, "123", dict={})
! self.assertRaises(TypeError, t, "123456789", dict=None)
!
! s = "123456789"
! self.assertEqual("".join(t(s)), s)
!
! def test_eviltuple(self):
! class Exc(Exception):
! pass
!
! # Devious code could crash structseqs' contructors
! class C:
! def __getitem__(self, i):
! raise Exc
! def __len__(self):
! return 9
!
! self.assertRaises(Exc, time.struct_time, C())
!
! def test_reduce(self):
! t = time.gmtime()
! x = t.__reduce__()
!
! def test_main():
! test_support.run_unittest(StructSeqTest)
!
! if __name__ == "__main__":
! test_main()
More information about the Python-checkins
mailing list