2014-12-02 12:54:30 +01:00
|
|
|
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
|
|
|
# this repository contains the full copyright notices and license terms.
|
2012-11-15 19:33:08 +01:00
|
|
|
|
2022-04-16 18:30:15 +02:00
|
|
|
import datetime as dt
|
|
|
|
|
|
2019-11-16 14:49:18 +01:00
|
|
|
from trytond.modules.account_asset.asset import normalized_delta
|
2022-04-16 18:30:15 +02:00
|
|
|
from trytond.tests.test_tryton import ModuleTestCase
|
2019-11-16 14:49:18 +01:00
|
|
|
|
2012-11-15 19:33:08 +01:00
|
|
|
|
2015-01-27 18:12:47 +01:00
|
|
|
class AccountAssetTestCase(ModuleTestCase):
|
2014-01-12 19:59:17 +01:00
|
|
|
'Test AccountAsset module'
|
2015-01-27 18:12:47 +01:00
|
|
|
module = 'account_asset'
|
2019-01-17 17:22:22 +01:00
|
|
|
extras = ['purchase']
|
2015-01-02 16:07:51 +01:00
|
|
|
|
2019-11-16 14:49:18 +01:00
|
|
|
def test_normalized_delta(self):
|
2022-04-16 18:30:15 +02:00
|
|
|
"Test normalized delta"
|
2019-11-16 14:49:18 +01:00
|
|
|
for start, end, delta in [
|
|
|
|
|
(dt.date(2019, 1, 1), dt.date(2019, 12, 31),
|
|
|
|
|
dt.timedelta(days=364)),
|
|
|
|
|
(dt.date(2019, 1, 1), dt.date(2020, 1, 1),
|
|
|
|
|
dt.timedelta(days=365)),
|
|
|
|
|
(dt.date(2019, 1, 1), dt.date(2019, 3, 1),
|
|
|
|
|
dt.timedelta(days=31 + 28)),
|
2024-06-08 12:10:40 +02:00
|
|
|
(dt.date(2019, 2, 28), dt.date(2019, 3, 31),
|
|
|
|
|
dt.timedelta(days=31)),
|
2019-11-16 14:49:18 +01:00
|
|
|
(dt.date(2024, 1, 1), dt.date(2024, 2, 1),
|
|
|
|
|
dt.timedelta(days=31)),
|
|
|
|
|
(dt.date(2024, 1, 1), dt.date(2024, 3, 1),
|
|
|
|
|
dt.timedelta(days=31 + 28)),
|
2024-06-08 12:10:40 +02:00
|
|
|
(dt.date(2024, 2, 27), dt.date(2024, 3, 31),
|
|
|
|
|
dt.timedelta(days=32)),
|
|
|
|
|
(dt.date(2024, 2, 28), dt.date(2024, 3, 31),
|
|
|
|
|
dt.timedelta(days=31)),
|
|
|
|
|
(dt.date(2024, 2, 29), dt.date(2024, 3, 31),
|
|
|
|
|
dt.timedelta(days=31)),
|
2019-11-16 14:49:18 +01:00
|
|
|
(dt.date(2024, 3, 1), dt.date(2024, 4, 1),
|
|
|
|
|
dt.timedelta(days=31)),
|
|
|
|
|
(dt.date(2024, 1, 1), dt.date(2025, 1, 1),
|
|
|
|
|
dt.timedelta(days=365)),
|
|
|
|
|
(dt.date(2023, 1, 1), dt.date(2025, 1, 1),
|
|
|
|
|
dt.timedelta(days=365 * 2)),
|
|
|
|
|
(dt.date(2000, 1, 1), dt.date(2020, 1, 1),
|
|
|
|
|
dt.timedelta(days=365 * 20)),
|
|
|
|
|
]:
|
2024-06-08 12:10:40 +02:00
|
|
|
with self.subTest(start=start, end=end):
|
|
|
|
|
self.assertEqual(
|
|
|
|
|
normalized_delta(start, end), delta)
|
2019-11-16 14:49:18 +01:00
|
|
|
|
2012-11-15 19:33:08 +01:00
|
|
|
|
2022-04-16 18:30:15 +02:00
|
|
|
del ModuleTestCase
|