def from_basic(self, data): check_data_type(list, data) if len(data) < 3: raise BadData( 'Too few elements. Expected 3 or 4 but got %d' % (len(data),) ) if len(data) > 4: raise BadData( 'Too many elements. Expected 3 or 4 but got %d' % (len(data),) ) check_data_type(integer_types, data[1]) check_data_type(integer_types, data[2]) source_template = self.flatmapped_strategy.from_basic(data[0]) if len(data) == 4: return self.TemplateFromBasic( source_template=source_template, parameter_seed=data[1], template_seed=data[2], basic_data=tupleize_basic(data[3]) ) else: assert len(data) == 3 return self.TemplateFromSeed( source_template=source_template, parameter_seed=data[1], template_seed=data[2], )
def from_basic(self, data): check_data_type(list, data) check_length(2, data) i, value = data check_data_type(integer_types, i) if i < 0: raise BadData('Index out of range: %d < 0' % (i, )) elif i >= len(self.element_strategies): raise BadData('Index out of range: %d >= %d' % (i, len(self.element_strategies))) return (i, self.element_strategies[i].from_basic(value))
def from_basic(self, data): check_data_type(list, data) if len(data) < 3: raise BadData('Expected at least 3 elements but got %d' % (len(data), )) if len(data) > 4: raise BadData('Expected at most 4 elements but got %d' % (len(data), )) check_data_type(integer_types, data[1]) check_data_type(integer_types, data[2]) target_data = data[-1] if len(data) == 4 else not_set return FlatMapTemplate( self.flatmapped_strategy.from_basic(data[0]), target_data=target_data, target_parameter_seed=data[1], target_template_seed=data[2], )