From 1dde95dffa44c7ddc4eee7b21cc44274d3e3effe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Walter=20D=C3=B6rwald?= Date: Mon, 8 Dec 2003 11:38:45 +0000 Subject: Move list and tuple tests from test_types.py to their own scripts: test_tuple.py and test_list.py. Common tests for tuple, list and UserList are shared (in seq_tests.py and list_tests.py). Port tests to PyUnit. (From SF patch #736962) --- Lib/test/test_tuple.py | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Lib/test/test_tuple.py (limited to 'Lib/test/test_tuple.py') diff --git a/Lib/test/test_tuple.py b/Lib/test/test_tuple.py new file mode 100644 index 0000000000..4fe299f182 --- /dev/null +++ b/Lib/test/test_tuple.py @@ -0,0 +1,49 @@ +import unittest +from test import test_support, seq_tests + +class TupleTest(seq_tests.CommonTest): + type2test = tuple + + def test_constructors(self): + super(TupleTest, self).test_len() + # calling built-in types without argument must return empty + self.assertEqual(tuple(), ()) + + def test_truth(self): + super(TupleTest, self).test_truth() + self.assert_(not ()) + self.assert_((42, )) + + def test_len(self): + super(TupleTest, self).test_len() + self.assertEqual(len(()), 0) + self.assertEqual(len((0,)), 1) + self.assertEqual(len((0, 1, 2)), 3) + + def test_iadd(self): + super(TupleTest, self).test_iadd() + u = (0, 1) + u2 = u + u += (2, 3) + self.assert_(u is not u2) + + def test_imul(self): + super(TupleTest, self).test_imul() + u = (0, 1) + u2 = u + u *= 3 + self.assert_(u is not u2) + + def test_tupleresizebug(self): + # Check that a specific bug in _PyTuple_Resize() is squashed. + def f(): + for i in range(1000): + yield i + self.assertEqual(list(tuple(f())), range(1000)) + + +def test_main(): + test_support.run_unittest(TupleTest) + +if __name__=="__main__": + test_main() -- cgit v1.2.1