nonprims iterate over all prims
This commit is contained in:
@@ -119,18 +119,21 @@ def get_sample(datatype):
|
||||
|
||||
return SAMPLE_DATA[datatype]
|
||||
|
||||
def get_nonprim_sample(non_prim_type):
|
||||
def get_nonprim_sample(non_prim_type, datatype):
|
||||
"""
|
||||
Helper method to access created sample data for non-primitives
|
||||
"""
|
||||
|
||||
if non_prim_type == 'list':
|
||||
return ['text', 'text']
|
||||
return [get_sample(datatype), get_sample(datatype)]
|
||||
elif non_prim_type == 'set':
|
||||
return sortedset(['text'])
|
||||
return sortedset([get_sample(datatype)])
|
||||
elif non_prim_type == 'map':
|
||||
return {'text': 'text'}
|
||||
if datatype == 'blob':
|
||||
return {get_sample('ascii'): get_sample(datatype)}
|
||||
else:
|
||||
return {get_sample(datatype): get_sample(datatype)}
|
||||
elif non_prim_type == 'tuple':
|
||||
return ('text', 'text')
|
||||
return (get_sample(datatype),)
|
||||
else:
|
||||
raise Exception('Missing handling of non-primitive type {0}.'.format(non_prim_type))
|
||||
@@ -17,11 +17,6 @@ try:
|
||||
except ImportError:
|
||||
import unittest # noqa
|
||||
|
||||
# try:
|
||||
# from blist import sortedset
|
||||
# except ImportError:
|
||||
# sortedset = set # noqa
|
||||
|
||||
import logging
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@@ -310,11 +305,14 @@ class TypeTests(unittest.TestCase):
|
||||
# create UDT
|
||||
alpha_type_list = []
|
||||
start_index = ord('a')
|
||||
for i, datatype in enumerate(DATA_TYPE_NON_PRIMITIVE_NAMES):
|
||||
if datatype == "map":
|
||||
alpha_type_list.append("{0} {1}<text, text>".format(chr(start_index + i), datatype))
|
||||
else:
|
||||
alpha_type_list.append("{0} {1}<text>".format(chr(start_index + i), datatype))
|
||||
for i, nonprim_datatype in enumerate(DATA_TYPE_NON_PRIMITIVE_NAMES):
|
||||
for j, datatype in enumerate(DATA_TYPE_PRIMITIVES):
|
||||
if nonprim_datatype == "map":
|
||||
alpha_type_list.append("{0}_{1} {2}<{3}, {3}>".format(chr(start_index + i), chr(start_index + j),
|
||||
nonprim_datatype, datatype))
|
||||
else:
|
||||
alpha_type_list.append("{0}_{1} {2}<{3}>".format(chr(start_index + i), chr(start_index + j),
|
||||
nonprim_datatype, datatype))
|
||||
|
||||
s.execute("""
|
||||
CREATE TYPE alldatatypes ({0})
|
||||
@@ -326,14 +324,17 @@ class TypeTests(unittest.TestCase):
|
||||
# register UDT
|
||||
alphabet_list = []
|
||||
for i in range(ord('a'), ord('a')+len(DATA_TYPE_NON_PRIMITIVE_NAMES)):
|
||||
alphabet_list.append('{}'.format(chr(i)))
|
||||
for j in range(ord('a'), ord('a')+len(DATA_TYPE_PRIMITIVES)):
|
||||
alphabet_list.append('{0}_{1}'.format(chr(i), chr(j)))
|
||||
|
||||
Alldatatypes = namedtuple("alldatatypes", alphabet_list)
|
||||
c.register_user_type("test_nonprimitive_datatypes", "alldatatypes", Alldatatypes)
|
||||
|
||||
# insert UDT data
|
||||
params = []
|
||||
for datatype in DATA_TYPE_NON_PRIMITIVE_NAMES:
|
||||
params.append((get_nonprim_sample(datatype)))
|
||||
for nonprim_datatype in DATA_TYPE_NON_PRIMITIVE_NAMES:
|
||||
for datatype in DATA_TYPE_PRIMITIVES:
|
||||
params.append((get_nonprim_sample(nonprim_datatype, datatype)))
|
||||
|
||||
insert = s.prepare("INSERT INTO mytable (a, b) VALUES (?, ?)")
|
||||
s.execute(insert, (0, Alldatatypes(*params)))
|
||||
|
||||
Reference in New Issue
Block a user