Add unittest for Char fields

This commit is contained in:
Cédric Krier committed 2009-06-23 10:25:22 +02:00
1 parent 8067f0aa3a
commit dcbf771336
2 files changed
+276

No files matched your search

+234
View File
@@ -78,6 +78,11 @@ class FieldsTestCase(unittest.TestCase):
self.numeric_default = RPCProxy('tests.numeric_default')
self.numeric_required = RPCProxy('tests.numeric_required')
self.char = RPCProxy('tests.char')
self.char_default = RPCProxy('tests.char_default')
self.char_required = RPCProxy('tests.char_required')
self.char_size = RPCProxy('tests.char_size')
def test0010boolean(self):
'''
Test Boolean.
@@ -719,6 +724,235 @@ class FieldsTestCase(unittest.TestCase):
numeric5 = self.numeric_required.read(numeric5_id, ['numeric'], CONTEXT)
self.assert_(numeric5['numeric'] == Decimal('0'))
def test0050char(self):
'''
Test Char.
'''
char1_id = self.char.create({
'char': 'Test',
}, CONTEXT)
self.assert_(char1_id)
char1 = self.char.read(char1_id, ['char'], CONTEXT)
self.assert_(char1['char'] == 'Test')
char_ids = self.char.search([
('char', '=', 'Test'),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char_ids = self.char.search([
('char', '=', 'Foo'),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', '=', False),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', '!=', 'Test'),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', '!=', 'Foo'),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char_ids = self.char.search([
('char', '!=', False),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char_ids = self.char.search([
('char', 'in', ['Test']),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char_ids = self.char.search([
('char', 'in', ['Foo']),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', 'in', [False]),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', 'in', []),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', 'not in', ['Test']),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', 'not in', ['Foo']),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char_ids = self.char.search([
('char', 'not in', [False]),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char_ids = self.char.search([
('char', 'not in', []),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char_ids = self.char.search([
('char', 'like', 'Test'),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char_ids = self.char.search([
('char', 'like', 'T%'),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char_ids = self.char.search([
('char', 'like', 'Foo'),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', 'like', 'F%'),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', 'ilike', 'test'),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char_ids = self.char.search([
('char', 'ilike', 't%'),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char_ids = self.char.search([
('char', 'ilike', 'foo'),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', 'ilike', 'f%'),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', 'not like', 'Test'),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', 'not like', 'T%'),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', 'not like', 'Foo'),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char_ids = self.char.search([
('char', 'not like', 'F%'),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char_ids = self.char.search([
('char', 'not ilike', 'test'),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', 'not ilike', 't%'),
], CONTEXT)
self.assert_(char_ids == [])
char_ids = self.char.search([
('char', 'not ilike', 'foo'),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char_ids = self.char.search([
('char', 'not ilike', 'f%'),
], CONTEXT)
self.assert_(char_ids == [char1_id])
char2_id = self.char.create({
'char': False,
}, CONTEXT)
self.assert_(char2_id)
char2 = self.char.read(char2_id, ['char'], CONTEXT)
self.assert_(char2['char'] == None)
char_ids = self.char.search([
('char', '=', False),
], CONTEXT)
self.assert_(char_ids == [char2_id])
char_ids = self.char.search([
('char', 'in', [False, 'Test']),
], CONTEXT)
self.assert_(char_ids == [char1_id, char2_id])
char_ids = self.char.search([
('char', 'not in', [False, 'Test']),
], CONTEXT)
self.assert_(char_ids == [])
char3_id = self.char.create({}, CONTEXT)
self.assert_(char3_id)
char3 = self.char.read(char3_id, ['char'], CONTEXT)
self.assert_(char3['char'] == None)
char4_id = self.char_default.create({}, CONTEXT)
self.assert_(char4_id)
char4 = self.char_default.read(char4_id, ['char'], CONTEXT)
self.assert_(char4['char'] == 'Test')
self.char.write(char1_id, {
'char': False,
}, CONTEXT)
char1 = self.char.read(char1_id, ['char'], CONTEXT)
self.assert_(char1['char'] == None)
self.char.write(char2_id, {
'char': 'Test',
}, CONTEXT)
char2 = self.char.read(char2_id, ['char'], CONTEXT)
self.assert_(char2['char'] == 'Test')
self.failUnlessRaises(Exception, self.char_required.create, {}, CONTEXT)
char5_id = self.char_required.create({
'char': 'Test',
}, CONTEXT)
self.assert_(char5_id)
char6_id = self.char_size.create({
'char': 'Test',
}, CONTEXT)
self.assert_(char6_id)
self.failUnlessRaises(Exception, self.char_size.create, {
'char': 'foobar',
}, CONTEXT)
self.failUnlessRaises(Exception, self.char_size.write, char6_id, {
'char': 'foobar',
}, CONTEXT)
class MPTTTestCase(unittest.TestCase):
'''
+42
View File
@@ -135,3 +135,45 @@ class NumericRequired(ModelSQL):
NumericRequired()
class Char(ModelSQL):
'Char'
_name = 'tests.char'
_description = __doc__
char = fields.Char(string='Char', size=None, help='Test char',
required=False)
Char()
class CharDefault(ModelSQL):
'Char Default'
_name = 'tests.char_default'
_description = __doc__
char = fields.Char(string='Char', size=None, help='Test char',
required=False)
def default_char(self, cursor, user, context=None):
return 'Test'
CharDefault()
class CharRequired(ModelSQL):
'Char Required'
_name = 'tests.char_required'
_description = __doc__
char = fields.Char(string='Char', size=None, help='Test char',
required=True)
CharRequired()
class CharSize(ModelSQL):
'Char Size'
_name = 'tests.char_size'
_description = __doc__
char = fields.Char(string='Char', size=5, help='Test char',
required=False)
CharSize()