This patch also provides a simple way to share tests going forward between test_int and test_long.
This commit is contained in:
parent
33e05e7905
commit
6f70fe8046
|
@ -45,7 +45,25 @@ if have_unicode:
|
|||
(unichr(0x200), ValueError),
|
||||
]
|
||||
|
||||
class IntTestCases(unittest.TestCase):
|
||||
class IntLongCommonTests(object):
|
||||
|
||||
"""Mixin of test cases to share between both test_int and test_long."""
|
||||
|
||||
# Change to int or long in the TestCase subclass.
|
||||
ntype = None
|
||||
|
||||
def test_no_args(self):
|
||||
self.assertEqual(self.ntype(), 0)
|
||||
|
||||
def test_keyword_args(self):
|
||||
# Test invoking constructor using keyword arguments.
|
||||
self.assertEqual(self.ntype(x=1.2), 1)
|
||||
self.assertEqual(self.ntype('100', base=2), 4)
|
||||
self.assertEqual(self.ntype(x='100', base=2), 4)
|
||||
|
||||
class IntTestCases(IntLongCommonTests, unittest.TestCase):
|
||||
|
||||
ntype = int
|
||||
|
||||
def test_basic(self):
|
||||
self.assertEqual(int(314), 314)
|
||||
|
@ -316,15 +334,6 @@ class IntTestCases(unittest.TestCase):
|
|||
self.assertEqual(int(float(2**54+10)), 2**54+8)
|
||||
self.assertEqual(int(float(2**54+11)), 2**54+12)
|
||||
|
||||
def test_no_args(self):
|
||||
self.assertEquals(int(), 0)
|
||||
|
||||
def test_keyword_args(self):
|
||||
# Test invoking int() using keyword arguments.
|
||||
self.assertEquals(int(x=1.2), 1)
|
||||
self.assertEquals(int('100', base=2), 4)
|
||||
self.assertEquals(int(x='100', base=2), 4)
|
||||
|
||||
def test_valid_non_numeric_input_types_for_x(self):
|
||||
# Test possible valid non-numeric types for x, including subclasses
|
||||
# of the allowed built-in types.
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
import unittest
|
||||
from test import test_support
|
||||
import sys
|
||||
|
||||
import random
|
||||
import math
|
||||
|
||||
from test import test_int, test_support
|
||||
|
||||
# Used for lazy formatting of failure messages
|
||||
class Frm(object):
|
||||
def __init__(self, format, *args):
|
||||
|
@ -78,8 +79,9 @@ if test_support.have_unicode:
|
|||
(unichr(0x200), ValueError),
|
||||
]
|
||||
|
||||
class LongTest(test_int.IntLongCommonTests, unittest.TestCase):
|
||||
|
||||
class LongTest(unittest.TestCase):
|
||||
ntype = long
|
||||
|
||||
# Get quasi-random long consisting of ndigits digits (in base BASE).
|
||||
# quasi == the most-significant digit will not be 0, and the number
|
||||
|
|
Loading…
Reference in New Issue