Files
@ 93889b9694f4
Branch filter:
Location: rattail-project/rattail/tests/test_util.py - annotation
93889b9694f4
2.5 KiB
text/x-python
bump: version 0.18.12 → 0.19.0
383a271288fd 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 7e97c7f48a99 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 7e97c7f48a99 7e97c7f48a99 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 7e97c7f48a99 9cb7ff906833 9cb7ff906833 9cb7ff906833 7e97c7f48a99 9cb7ff906833 9cb7ff906833 9cb7ff906833 7e97c7f48a99 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 9cb7ff906833 7e97c7f48a99 9cb7ff906833 9cb7ff906833 7e97c7f48a99 9cb7ff906833 74f583113b37 74f583113b37 74f583113b37 74f583113b37 74f583113b37 7e97c7f48a99 74f583113b37 | # -*- coding: utf-8; -*-
import os
import shutil
from unittest import TestCase
from rattail import util as mod
class A: pass
class B(A): pass
class C(B): pass
class TestGetClassHierarchy(TestCase):
def test_basic(self):
classes = mod.get_class_hierarchy(A)
self.assertEqual(classes, [A])
classes = mod.get_class_hierarchy(B)
self.assertEqual(classes, [A, B])
classes = mod.get_class_hierarchy(C)
self.assertEqual(classes, [A, B, C])
classes = mod.get_class_hierarchy(C, topfirst=False)
self.assertEqual(classes, [C, B, A])
class ImportTests(TestCase):
def setUp(self):
dirname = os.path.abspath(os.path.dirname(__file__))
os.mkdir(os.path.join(dirname, 'foo'))
with open(os.path.join(dirname, 'foo', '__init__.py'), 'w') as f:
f.write('\n')
with open(os.path.join(dirname, 'foo', 'bar.py'), 'w') as f:
f.write('\n')
os.mkdir(os.path.join(dirname, 'foo', 'baz'))
with open(os.path.join(dirname, 'foo', 'baz', '__init__.py'), 'w') as f:
f.write('\n')
def tearDown(self):
shutil.rmtree(os.path.join(os.path.dirname(__file__), 'foo'))
def test_module_already_imported(self):
util_module = mod.import_module_path('rattail.util')
self.assertTrue(util_module is mod)
# def test_new_module(self):
# dirname = os.path.abspath(os.path.dirname(__file__))
# foo = mod.import_module_path('tests.foo')
# self.assertEqual(foo.__file__, os.path.abspath(
# os.path.join(dirname, 'foo', '__init__.py')))
# bar = mod.import_module_path('tests.foo.bar')
# self.assertEqual(bar.__file__, os.path.abspath(
# os.path.join(dirname, 'foo', 'bar.py')))
# baz = mod.import_module_path('tests.foo.baz')
# self.assertEqual(baz.__file__, os.path.abspath(
# os.path.join(dirname, 'foo', 'baz', '__init__.py')))
# def test_load_object(self):
# with open(os.path.join(os.path.dirname(__file__), 'foo', 'baz', '__init__.py'), 'w') as f:
# f.write("""
# somevar = 42
# def somefunc():
# return somevar * 10
# """)
# somevar = mod.load_object('tests.foo.baz:somevar')
# self.assertEqual(somevar, 42)
# somefunc = mod.load_object('tests.foo.baz:somefunc')
# self.assertEqual(somefunc(), 420)
class TestPrettify(TestCase):
def test_basic(self):
text = mod.prettify('foo_bar')
self.assertEqual(text, "Foo Bar")
|