from test import test_support
import unittest
from unittest import TestCase
+import types
### Support code
################################################################
# "This method searches `module` for classes derived from TestCase"
def test_loadTestsFromModule__TestCase_subclass(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class MyTestCase(unittest.TestCase):
def test(self):
pass
#
# What happens if no tests are found (no TestCase instances)?
def test_loadTestsFromModule__no_TestCase_instances(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
loader = unittest.TestLoader()
suite = loader.loadTestsFromModule(m)
#
# What happens if no tests are found (TestCases instances, but no tests)?
def test_loadTestsFromModule__no_TestCase_tests(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class MyTestCase(unittest.TestCase):
pass
m.testcase_1 = MyTestCase
# Does it raise an exception if the name resolves to an invalid
# object?
def test_loadTestsFromName__relative_bad_object(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
m.testcase_1 = object()
loader = unittest.TestLoader()
# "The specifier name is a ``dotted name'' that may
# resolve either to ... a test case class"
def test_loadTestsFromName__relative_TestCase_subclass(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class MyTestCase(unittest.TestCase):
def test(self):
pass
# within a test case class, or a callable object which returns a
# TestCase or TestSuite instance."
def test_loadTestsFromName__relative_TestSuite(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class MyTestCase(unittest.TestCase):
def test(self):
pass
# "The specifier name is a ``dotted name'' that may resolve ... to
# ... a test method within a test case class"
def test_loadTestsFromName__relative_testmethod(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class MyTestCase(unittest.TestCase):
def test(self):
pass
# resolve "a test method within a test case class" that doesn't exist
# for the given name (relative to a provided module)?
def test_loadTestsFromName__relative_invalid_testmethod(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class MyTestCase(unittest.TestCase):
def test(self):
pass
# "The specifier name is a ``dotted name'' that may resolve ... to
# ... a callable object which returns a ... TestSuite instance"
def test_loadTestsFromName__callable__TestSuite(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
testcase_1 = unittest.FunctionTestCase(lambda: None)
testcase_2 = unittest.FunctionTestCase(lambda: None)
def return_TestSuite():
# "The specifier name is a ``dotted name'' that may resolve ... to
# ... a callable object which returns a TestCase ... instance"
def test_loadTestsFromName__callable__TestCase_instance(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
testcase_1 = unittest.FunctionTestCase(lambda: None)
def return_TestCase():
return testcase_1
#
# What happens if the callable returns something else?
def test_loadTestsFromName__callable__wrong_type(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
def return_wrong():
return 6
m.return_wrong = return_wrong
# Does it raise an exception if the name resolves to an invalid
# object?
def test_loadTestsFromNames__relative_bad_object(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
m.testcase_1 = object()
loader = unittest.TestLoader()
# "The specifier name is a ``dotted name'' that may resolve ... to
# ... a test case class"
def test_loadTestsFromNames__relative_TestCase_subclass(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class MyTestCase(unittest.TestCase):
def test(self):
pass
# "The specifier name is a ``dotted name'' that may resolve ... to
# ... a TestSuite instance"
def test_loadTestsFromNames__relative_TestSuite(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class MyTestCase(unittest.TestCase):
def test(self):
pass
# "The specifier name is a ``dotted name'' that may resolve ... to ... a
# test method within a test case class"
def test_loadTestsFromNames__relative_testmethod(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class MyTestCase(unittest.TestCase):
def test(self):
pass
# Does the method gracefully handle names that initially look like they
# resolve to "a test method within a test case class" but don't?
def test_loadTestsFromNames__relative_invalid_testmethod(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class MyTestCase(unittest.TestCase):
def test(self):
pass
# "The specifier name is a ``dotted name'' that may resolve ... to
# ... a callable object which returns a ... TestSuite instance"
def test_loadTestsFromNames__callable__TestSuite(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
testcase_1 = unittest.FunctionTestCase(lambda: None)
testcase_2 = unittest.FunctionTestCase(lambda: None)
def return_TestSuite():
# "The specifier name is a ``dotted name'' that may resolve ... to
# ... a callable object which returns a TestCase ... instance"
def test_loadTestsFromNames__callable__TestCase_instance(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
testcase_1 = unittest.FunctionTestCase(lambda: None)
def return_TestCase():
return testcase_1
#
# Are staticmethods handled correctly?
def test_loadTestsFromNames__callable__call_staticmethod(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class Test1(unittest.TestCase):
def test(self):
pass
#
# What happens when the callable returns something else?
def test_loadTestsFromNames__callable__wrong_type(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
def return_wrong():
return 6
m.return_wrong = return_wrong
# Implicit in the documentation is that testMethodPrefix is respected by
# all loadTestsFrom* methods.
def test_testMethodPrefix__loadTestsFromModule(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class Foo(unittest.TestCase):
def test_1(self): pass
def test_2(self): pass
# Implicit in the documentation is that testMethodPrefix is respected by
# all loadTestsFrom* methods.
def test_testMethodPrefix__loadTestsFromName(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class Foo(unittest.TestCase):
def test_1(self): pass
def test_2(self): pass
# Implicit in the documentation is that testMethodPrefix is respected by
# all loadTestsFrom* methods.
def test_testMethodPrefix__loadTestsFromNames(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class Foo(unittest.TestCase):
def test_1(self): pass
def test_2(self): pass
def reversed_cmp(x, y):
return -cmp(x, y)
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class Foo(unittest.TestCase):
def test_1(self): pass
def test_2(self): pass
def reversed_cmp(x, y):
return -cmp(x, y)
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class Foo(unittest.TestCase):
def test_1(self): pass
def test_2(self): pass
def reversed_cmp(x, y):
return -cmp(x, y)
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class Foo(unittest.TestCase):
def test_1(self): pass
def test_2(self): pass
# It is implicit in the documentation for TestLoader.suiteClass that
# all TestLoader.loadTestsFrom* methods respect it. Let's make sure
def test_suiteClass__loadTestsFromModule(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class Foo(unittest.TestCase):
def test_1(self): pass
def test_2(self): pass
# It is implicit in the documentation for TestLoader.suiteClass that
# all TestLoader.loadTestsFrom* methods respect it. Let's make sure
def test_suiteClass__loadTestsFromName(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class Foo(unittest.TestCase):
def test_1(self): pass
def test_2(self): pass
# It is implicit in the documentation for TestLoader.suiteClass that
# all TestLoader.loadTestsFrom* methods respect it. Let's make sure
def test_suiteClass__loadTestsFromNames(self):
- import new
- m = new.module('m')
+ m = types.ModuleType('m')
class Foo(unittest.TestCase):
def test_1(self): pass
def test_2(self): pass