[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