summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorRaphael Collet <rco@openerp.com>2016-01-28 16:44:05 +0100
committerRaphael Collet <rco@openerp.com>2016-01-29 09:37:27 +0100
commitca7983a40fdadf4f28760a879ffcee342850d112 (patch)
tree648a3bddefef7243b2d12a9c95ee07479de0a438 /addons
parent812332855a22d5a0f41f579d949aba87213230b9 (diff)
[FIX] account_budget: in test, use `float_compare` to compare amounts
Diffstat (limited to 'addons')
-rw-r--r--addons/account_budget/tests/test_theoreticalamount.py28
1 files changed, 17 insertions, 11 deletions
diff --git a/addons/account_budget/tests/test_theoreticalamount.py b/addons/account_budget/tests/test_theoreticalamount.py
index a1e090e2184..ab1c4dabf7c 100644
--- a/addons/account_budget/tests/test_theoreticalamount.py
+++ b/addons/account_budget/tests/test_theoreticalamount.py
@@ -3,7 +3,7 @@ from datetime import datetime
from mock import patch
from openerp.tests.common import TransactionCase
-from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT
+from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT, float_compare
# ---------------------------------------------------------
@@ -32,65 +32,71 @@ class TestTheoreticalAmount(TransactionCase):
self.patcher = patch('openerp.addons.account_budget.account_budget.datetime', wraps=datetime)
self.mock_datetime = self.patcher.start()
+ def assertFloatEqual(self, value1, value2, *args, **kwargs):
+ """ Compare two values of the field theoritical_amount """
+ digits = type(self.line).theoritical_amount.digits
+ result = float_compare(value1, value2, precision_digits=digits[1])
+ return self.assertFalse(result, *args, **kwargs)
+
def test_01(self):
"""Start"""
date = datetime.strptime('2014-01-01 00:00:00', DEFAULT_SERVER_DATETIME_FORMAT)
self.mock_datetime.now.return_value = date
- self.assertEqual(self.line.theoritical_amount, 0)
+ self.assertFloatEqual(self.line.theoritical_amount, 0)
def test_02(self):
"""After 24 hours"""
date = datetime.strptime('2014-01-02 00:00:00', DEFAULT_SERVER_DATETIME_FORMAT)
self.mock_datetime.now.return_value = date
- self.assertEqual(self.line.theoritical_amount, -1)
+ self.assertFloatEqual(self.line.theoritical_amount, -1)
def test_03(self):
"""After 36 hours"""
date = datetime.strptime('2014-01-02 12:00:00', DEFAULT_SERVER_DATETIME_FORMAT)
self.mock_datetime.now.return_value = date
- self.assertEqual(self.line.theoritical_amount, -1.5)
+ self.assertFloatEqual(self.line.theoritical_amount, -1.5)
def test_04(self):
"""After 48 hours"""
date = datetime.strptime('2014-01-03 00:00:00', DEFAULT_SERVER_DATETIME_FORMAT)
self.mock_datetime.now.return_value = date
- self.assertEqual(self.line.theoritical_amount, -2)
+ self.assertFloatEqual(self.line.theoritical_amount, -2)
def test_05(self):
"""After 10 days"""
date = datetime.strptime('2014-01-11 00:00:00', DEFAULT_SERVER_DATETIME_FORMAT)
self.mock_datetime.now.return_value = date
- self.assertEqual(self.line.theoritical_amount, -10)
+ self.assertFloatEqual(self.line.theoritical_amount, -10)
def test_06(self):
"""After 50 days"""
date = datetime.strptime('2014-02-20 00:00:00', DEFAULT_SERVER_DATETIME_FORMAT)
self.mock_datetime.now.return_value = date
- self.assertEqual(self.line.theoritical_amount, -50)
+ self.assertFloatEqual(self.line.theoritical_amount, -50)
def test_07(self):
"""After 182 days, exactly half of the budget line"""
date = datetime.strptime('2014-07-02 00:00:00', DEFAULT_SERVER_DATETIME_FORMAT)
self.mock_datetime.now.return_value = date
- self.assertEqual(self.line.theoritical_amount, -182)
+ self.assertFloatEqual(self.line.theoritical_amount, -182)
def test_08(self):
"""After 308 days at noon"""
date = datetime.strptime('2014-11-05 12:00:00', DEFAULT_SERVER_DATETIME_FORMAT) # remember, remember
self.mock_datetime.now.return_value = date
- self.assertEqual(self.line.theoritical_amount, -308.5)
+ self.assertFloatEqual(self.line.theoritical_amount, -308.5)
def test_09(self):
"""One day before"""
date = datetime.strptime('2014-12-30 00:00:00', DEFAULT_SERVER_DATETIME_FORMAT)
self.mock_datetime.now.return_value = date
- self.assertEqual(self.line.theoritical_amount, -363)
+ self.assertFloatEqual(self.line.theoritical_amount, -363)
def test_10(self):
"""At last"""
date = datetime.strptime('2014-12-31 00:00:00', DEFAULT_SERVER_DATETIME_FORMAT)
self.mock_datetime.now.return_value = date
- self.assertEqual(self.line.theoritical_amount, -364)
+ self.assertFloatEqual(self.line.theoritical_amount, -364)
def tearDown(self):
self.patcher.stop()