From e68337a42c3844b6ce350ad7232ecaaa0de2f60b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 29 May 2009 10:34:00 +0200 Subject: [PATCH] Add unittest for Float fields --- trytond/tests/test_tryton.py | 180 +++++++++++++++++++++++++++++++++++ trytond/tests/tests.py | 23 +++++ 2 files changed, 203 insertions(+) diff --git a/trytond/tests/test_tryton.py b/trytond/tests/test_tryton.py index 5bbc685343..7865d448f1 100644 --- a/trytond/tests/test_tryton.py +++ b/trytond/tests/test_tryton.py @@ -68,6 +68,9 @@ class FieldsTestCase(unittest.TestCase): self.integer = RPCProxy('tests.integer') self.integer_default = RPCProxy('tests.integer_default') + self.float = RPCProxy('tests.float') + self.float_default = RPCProxy('tests.float_default') + def test0010boolean(self): ''' Test Boolean. @@ -337,6 +340,183 @@ class FieldsTestCase(unittest.TestCase): 'integer': 'test', }, CONTEXT) + def test0030float(self): + ''' + Test Float. + ''' + float1_id = self.float.create({ + 'float': 1.1, + }, CONTEXT) + self.assert_(float1_id) + + float1 = self.float.read(float1_id, ['float'], CONTEXT) + self.assert_(float1['float'] == 1.1) + + float_ids = self.float.search([ + ('float', '=', 1.1), + ], CONTEXT) + self.assert_(float_ids == [float1_id]) + + float_ids = self.float.search([ + ('float', '=', 0), + ], CONTEXT) + self.assert_(float_ids == []) + + float_ids = self.float.search([ + ('float', '!=', 1.1), + ], CONTEXT) + self.assert_(float_ids == []) + + float_ids = self.float.search([ + ('float', '!=', 0), + ], CONTEXT) + self.assert_(float_ids == [float1_id]) + + float_ids = self.float.search([ + ('float', 'in', [1.1]), + ], CONTEXT) + self.assert_(float_ids == [float1_id]) + + float_ids = self.float.search([ + ('float', 'in', [0]), + ], CONTEXT) + self.assert_(float_ids == []) + + float_ids = self.float.search([ + ('float', 'in', []), + ], CONTEXT) + self.assert_(float_ids == []) + + float_ids = self.float.search([ + ('float', 'not in', [1.1]), + ], CONTEXT) + self.assert_(float_ids == []) + + float_ids = self.float.search([ + ('float', 'not in', [0]), + ], CONTEXT) + self.assert_(float_ids == [float1_id]) + + float_ids = self.float.search([ + ('float', 'not in', []), + ], CONTEXT) + self.assert_(float_ids == [float1_id]) + + float_ids = self.float.search([ + ('float', '<', 5), + ], CONTEXT) + self.assert_(float_ids == [float1_id]) + + float_ids = self.float.search([ + ('float', '<', -5), + ], CONTEXT) + self.assert_(float_ids == []) + + float_ids = self.float.search([ + ('float', '<', 1.1), + ], CONTEXT) + self.assert_(float_ids == []) + + float_ids = self.float.search([ + ('float', '<=', 5), + ], CONTEXT) + self.assert_(float_ids == [float1_id]) + + float_ids = self.float.search([ + ('float', '<=', -5), + ], CONTEXT) + self.assert_(float_ids == []) + + float_ids = self.float.search([ + ('float', '<=', 1.1), + ], CONTEXT) + self.assert_(float_ids == [float1_id]) + + float_ids = self.float.search([ + ('float', '>', 5), + ], CONTEXT) + self.assert_(float_ids == []) + + float_ids = self.float.search([ + ('float', '>', -5), + ], CONTEXT) + self.assert_(float_ids == [float1_id]) + + float_ids = self.float.search([ + ('float', '>', 1.1), + ], CONTEXT) + self.assert_(float_ids == []) + + float_ids = self.float.search([ + ('float', '>=', 5), + ], CONTEXT) + self.assert_(float_ids == []) + + float_ids = self.float.search([ + ('float', '>=', -5), + ], CONTEXT) + self.assert_(float_ids == [float1_id]) + + float_ids = self.float.search([ + ('float', '>=', 1.1), + ], CONTEXT) + self.assert_(float_ids == [float1_id]) + + float2_id = self.float.create({ + 'float': 0, + }, CONTEXT) + self.assert_(float2_id) + + float2 = self.float.read(float2_id, ['float'], CONTEXT) + self.assert_(float2['float'] == 0) + + float_ids = self.float.search([ + ('float', '=', 0), + ], CONTEXT) + self.assert_(float_ids == [float2_id]) + + float_ids = self.float.search([ + ('float', 'in', [0, 1.1]), + ], CONTEXT) + self.assert_(float_ids == [float1_id, float2_id]) + + float_ids = self.float.search([ + ('float', 'not in', [0, 1.1]), + ], CONTEXT) + self.assert_(float_ids == []) + + float3_id = self.float.create({}, CONTEXT) + self.assert_(float3_id) + + float3 = self.float.read(float3_id, ['float'], CONTEXT) + self.assert_(float3['float'] == 0) + + float4_id = self.float_default.create({}, CONTEXT) + self.assert_(float4_id) + + float4 = self.float_default.read(float4_id, ['float'], CONTEXT) + self.assert_(float4['float'] == 5.5) + + self.float.write(float1_id, { + 'float': 0, + }, CONTEXT) + float1 = self.float.read(float1_id, ['float'] , CONTEXT) + self.assert_(float1['float'] == 0) + + self.float.write(float2_id, { + 'float': 1.1, + }, CONTEXT) + float2 = self.float.read(float2_id, ['float'], CONTEXT) + self.assert_(float2['float'] == 1.1) + + self.failUnlessRaises(Exception, self.float.create, { + 'float': 'test', + }, CONTEXT) + + self.failUnlessRaises(Exception, self.float.write, float1_id, { + 'float': 'test', + }, CONTEXT) + class MPTTTestCase(unittest.TestCase): ''' diff --git a/trytond/tests/tests.py b/trytond/tests/tests.py index a680457086..a0743d9271 100644 --- a/trytond/tests/tests.py +++ b/trytond/tests/tests.py @@ -58,3 +58,26 @@ class IntegerDefault(ModelSQL): return 5 IntegerDefault() + + +class Float(ModelSQL): + 'Float' + _name = 'tests.float' + _description = __doc__ + float = fields.Float(string='Float', help='Test float', + required=False) + +Float() + + +class FloatDefault(ModelSQL): + 'Float Default' + _name = 'tests.float_default' + _description = __doc__ + float = fields.Float(string='Float', help='Test float', + required=False) + + def default_float(self, cursor, user, context=None): + return 5.5 + +FloatDefault()