Add unittest

issue8905
review258541002
This commit is contained in:
Cédric Krier committed 2019-12-18 22:41:05 +01:00
1 parent f9c4848d22
commit b74753f033
10 files changed
+1279 -1029

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
clone:
hg:
image: plugins/hg
environment:
- HG_SHARE_POOL=/root/.cache/hg
volumes:
- cache:/root/.cache
pipeline:
tox:
image: ${IMAGE}
commands:
- pip install tox
- tox -e "${TOXENV}"
volumes:
- cache:/root/.cache
matrix:
include:
- IMAGE: tryton/tryton-test:3.5
TOXENV: py35
- IMAGE: tryton/tryton-test:3.6
TOXENV: py36
- IMAGE: tryton/tryton-test:3.7
TOXENV: py37
+1
View File
@@ -144,5 +144,6 @@ dist = setup(name=name,
'calendar': ['GooCalendar>=0.5'],
},
zip_safe=False,
test_suite='tryton.tests',
**args
)
+6
View File
@@ -0,0 +1,6 @@
[tox]
envlist = py35,py36,py37
[testenv]
commands = {envpython} setup.py test
install_command = pip install --pre --find-links https://trydevpi.tryton.org/ {opts} {packages}
File diff suppressed because it is too large. Load diff
-7
View File
@@ -210,10 +210,3 @@ class PopdownMixin(object):
# When setting no item GTK doesn't clear the entry
entry.get_child().set_text('')
return True
def test_freeze_value():
assert freeze_value({'foo': 'bar'}) == (('foo', 'bar'),)
assert freeze_value([1, 42, 2, 3]) == (1, 42, 2, 3)
assert freeze_value('foo') == 'foo'
assert freeze_value({'foo': {'bar': 42}}) == (('foo', (('bar', 42),)),)
-49
View File
@@ -107,52 +107,3 @@ def parse(text, converter=None):
if '-' in text:
seconds *= -1
return datetime.timedelta(seconds=seconds)
_tests = [
(None, ''),
(datetime.timedelta(), '00:00'),
(datetime.timedelta(days=3, hours=5, minutes=30), '3d 05:30'),
(datetime.timedelta(weeks=48), '11M 6d'),
(datetime.timedelta(weeks=50), '11M 2w 6d'),
(datetime.timedelta(weeks=52), '12M 4d'),
(datetime.timedelta(days=360), '12M'),
(datetime.timedelta(days=364), '12M 4d'),
(datetime.timedelta(days=365), '1Y'),
(datetime.timedelta(days=366), '1Y 1d'),
(datetime.timedelta(hours=2, minutes=5, seconds=10), '02:05:10'),
(datetime.timedelta(minutes=15, microseconds=42), '00:15:00.000042'),
(datetime.timedelta(days=1, microseconds=42), '1d .000042'),
(datetime.timedelta(seconds=-1), '-00:00:01'),
(datetime.timedelta(days=-1, hours=-5, minutes=-30), '-1d 05:30'),
]
def test_format():
for timedelta, text in _tests:
assert format(timedelta) == text
_tests_parse = [
(datetime.timedelta(), ' '),
(datetime.timedelta(), 'foo'),
(datetime.timedelta(days=1.5), '1.5d'),
(datetime.timedelta(days=-2), '1d -1d'),
(datetime.timedelta(hours=1, minutes=5, seconds=10), '1:5:10:42'),
(datetime.timedelta(hours=2), '1: 1:'),
(datetime.timedelta(hours=.25), ':15'),
(datetime.timedelta(hours=1), '1h'),
(datetime.timedelta(hours=.25), '.25h'),
]
def test_parse():
for timedelta, text, in _tests + _tests_parse:
assert parse(text) == timedelta
if __name__ == '__main__':
for name in list(globals()):
if name.startswith('test_'):
func = globals()[name]
func()
+29
View File
@@ -0,0 +1,29 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import os
import sys
import unittest
def test_suite():
suite = unittest.TestSuite()
loader = unittest.TestLoader()
for filename in os.listdir(os.path.dirname(__file__)):
if filename.startswith("test") and filename.endswith(".py"):
modname = "tryton.tests." + filename[:-3]
__import__(modname)
module = sys.modules[modname]
suite.addTests(loader.loadTestsFromModule(module))
return suite
def main():
suite = test_suite()
runner = unittest.TextTestRunner()
return runner.run(suite)
if __name__ == '__main__':
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.dirname(
os.path.abspath(__file__)))))
sys.exit(not main().wasSuccessful())
File diff suppressed because it is too large. Load diff
+18
View File
@@ -0,0 +1,18 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from unittest import TestCase
from tryton.common.selection import freeze_value
class SelectionTestCase(TestCase):
"Test common selection"
def test_freeze_value(self):
"Test freeze_value"
self.assertEqual(freeze_value({'foo': 'bar'}), (('foo', 'bar'),))
self.assertEqual(freeze_value([1, 42, 2, 3]), (1, 42, 2, 3))
self.assertEqual(freeze_value('foo'), 'foo')
self.assertEqual(
freeze_value({'foo': {'bar': 42}}), (('foo', (('bar', 42),)),))
+54
View File
@@ -0,0 +1,54 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import datetime as dt
from unittest import TestCase
from tryton.common.timedelta import format, parse
class TimeDeltaTestCase(TestCase):
"Test common timedelta"
def _format_values(self):
return [
(None, ''),
(dt.timedelta(), '00:00'),
(dt.timedelta(days=3, hours=5, minutes=30), '3d 05:30'),
(dt.timedelta(weeks=48), '11M 6d'),
(dt.timedelta(weeks=50), '11M 2w 6d'),
(dt.timedelta(weeks=52), '12M 4d'),
(dt.timedelta(days=360), '12M'),
(dt.timedelta(days=364), '12M 4d'),
(dt.timedelta(days=365), '1Y'),
(dt.timedelta(days=366), '1Y 1d'),
(dt.timedelta(hours=2, minutes=5, seconds=10), '02:05:10'),
(dt.timedelta(minutes=15, microseconds=42), '00:15:00.000042'),
(dt.timedelta(days=1, microseconds=42), '1d .000042'),
(dt.timedelta(seconds=-1), '-00:00:01'),
(dt.timedelta(days=-1, hours=-5, minutes=-30), '-1d 05:30'),
]
def test_format(self):
"Test format"
for timedelta, text in self._format_values():
self.assertEqual(format(timedelta), text,
msg="format(%r)" % timedelta)
def _parse_values(self):
return self._format_values() + [
(dt.timedelta(), ' '),
(dt.timedelta(), 'foo'),
(dt.timedelta(days=1.5), '1.5d'),
(dt.timedelta(days=-2), '1d -1d'),
(dt.timedelta(hours=1, minutes=5, seconds=10), '1:5:10:42'),
(dt.timedelta(hours=2), '1: 1:'),
(dt.timedelta(hours=.25), ':15'),
(dt.timedelta(hours=1), '1h'),
(dt.timedelta(hours=.25), '.25h'),
]
def test_parse(self):
"Test parse"
for timedelta, text in self._parse_values():
self.assertEqual(parse(text), timedelta,
msg="parse(%r)" % text)