def test_measurement_with_strain_size_1(self): measurement_intent = MeasurementIntent() measurement_intent.set_measurement_type( ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE) measurement_intent.add_file_type('SPREADSHEET') strain_name = NamedLink('and_00', link='www.synbiohub.org/example/strain') strain = StrainIntent(strain_name) strain.set_strain_lab_name('my_lab') strain.set_strain_common_name('my_strain') measurement_intent.add_strain(strain) strain_structure_request = { dc_constants.SBH_URI: 'www.synbiohub.org/example/strain', dc_constants.LABEL: 'my_strain', dc_constants.LAB_ID: 'name.my_lab.and_00' } self.assertEqual( { dc_constants.MEASUREMENT_TYPE: ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE, dc_constants.FILE_TYPE: ['SPREADSHEET'], dc_constants.STRAINS: [strain_structure_request] }, measurement_intent.to_structured_request())
def test_measurement_with_neg_control_content_size_1(self): measurement_intent = MeasurementIntent() measurement_intent.set_measurement_type( ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE) measurement_intent.add_file_type('SPREADSHEET') content = ContentIntent() num_neg_control = NamedIntegerValue( NamedLink(ip_constants.HEADER_NUMBER_OF_NEGATIVE_CONTROLS_VALUE), 2) content.set_numbers_of_negative_controls([num_neg_control]) measurement_intent.add_content(content) content_structure_request = [{ dc_constants.NAME: { dc_constants.LABEL: ip_constants.HEADER_NUMBER_OF_NEGATIVE_CONTROLS_VALUE, dc_constants.SBH_URI: dc_constants.NO_PROGRAM_DICTIONARY }, dc_constants.VALUE: 2 }] self.assertDictEqual( { dc_constants.CONTENTS: [content_structure_request], dc_constants.FILE_TYPE: ['SPREADSHEET'], dc_constants.MEASUREMENT_TYPE: ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE }, measurement_intent.to_structured_request())
def test_measurement_with_file_type_and_measurement_type(self): measurement_intent = MeasurementIntent() measurement_intent.set_measurement_type( ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE) measurement_intent.add_file_type('SPREADSHEET') self.assertEqual( { dc_constants.MEASUREMENT_TYPE: ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE, dc_constants.FILE_TYPE: ['SPREADSHEET'] }, measurement_intent.to_structured_request())
def test_measurement_with_ods_size_1(self): measurement_intent = MeasurementIntent() measurement_intent.set_measurement_type( ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE) measurement_intent.add_file_type('SPREADSHEET') measurement_intent.add_optical_density(3.0) self.assertEqual( { dc_constants.MEASUREMENT_TYPE: ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE, dc_constants.FILE_TYPE: ['SPREADSHEET'], dc_constants.ODS: [3.0] }, measurement_intent.to_structured_request())
def test_measurement_with_replicate_size_1(self): measurement_intent = MeasurementIntent() measurement_intent.set_measurement_type( ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE) measurement_intent.add_file_type('SPREADSHEET') measurement_intent.add_replicate(5) self.assertEqual( { dc_constants.MEASUREMENT_TYPE: ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE, dc_constants.FILE_TYPE: ['SPREADSHEET'], dc_constants.REPLICATES: [5] }, measurement_intent.to_structured_request())
def test_measurement_with_control_type(self): measurement_intent = MeasurementIntent() measurement_intent.set_measurement_type( ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE) measurement_intent.add_file_type('SPREADSHEET') control = ControlIntent() control.set_control_type('HIGH_FITC') measurement_intent.add_control(control) control_structure_request = {dc_constants.TYPE: 'HIGH_FITC'} self.assertEqual( { dc_constants.MEASUREMENT_TYPE: ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE, dc_constants.FILE_TYPE: ['SPREADSHEET'], dc_constants.CONTROLS: [control_structure_request] }, measurement_intent.to_structured_request())
def test_measurement_with_temperature_size_1(self): measurement_intent = MeasurementIntent() measurement_intent.set_measurement_type( ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE) measurement_intent.add_file_type('SPREADSHEET') temperature = TemperatureIntent(75.0, 'fahrenheit') measurement_intent.add_temperature(temperature) temperature_structure_request = { dc_constants.VALUE: 75.0, dc_constants.UNIT: 'fahrenheit' } self.assertEqual( { dc_constants.MEASUREMENT_TYPE: ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE, dc_constants.FILE_TYPE: ['SPREADSHEET'], dc_constants.TEMPERATURES: [temperature_structure_request] }, measurement_intent.to_structured_request())
def test_measurement_with_timepoint_size_1(self): measurement_intent = MeasurementIntent() measurement_intent.set_measurement_type( ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE) measurement_intent.add_file_type('SPREADSHEET') timepoint = TimepointIntent(12.0, 'hour') measurement_intent.add_timepoint(timepoint) timepoint_structure_request = { dc_constants.VALUE: 12.0, dc_constants.UNIT: 'hour' } self.assertEqual( { dc_constants.MEASUREMENT_TYPE: ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE, dc_constants.FILE_TYPE: ['SPREADSHEET'], dc_constants.TIMEPOINTS: [timepoint_structure_request] }, measurement_intent.to_structured_request())
def test_measurement_with_strain_size_2(self): measurement_intent = MeasurementIntent() measurement_intent.set_measurement_type( ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE) measurement_intent.add_file_type('SPREADSHEET') strain_value1 = NamedLink('and_00', link='www.synbiohub.org/example/and_strain') strain1 = StrainIntent(strain_value1) strain1.set_strain_lab_name('my_lab') strain1.set_strain_common_name('and_strain') measurement_intent.add_strain(strain1) strain_value2 = NamedLink('or_gate', link='www.synbiohub.org/example/or_strain') strain2 = StrainIntent(strain_value2) strain2.set_strain_lab_name('my_lab') strain2.set_strain_common_name('or_strain') measurement_intent.add_strain(strain2) strain_structure_request = [{ dc_constants.SBH_URI: 'www.synbiohub.org/example/and_strain', dc_constants.LABEL: 'and_strain', dc_constants.LAB_ID: 'name.my_lab.and_00' }, { dc_constants.SBH_URI: 'www.synbiohub.org/example/or_strain', dc_constants.LABEL: 'or_strain', dc_constants.LAB_ID: 'name.my_lab.or_gate' }] self.assertEqual( { dc_constants.MEASUREMENT_TYPE: ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE, dc_constants.FILE_TYPE: ['SPREADSHEET'], dc_constants.STRAINS: strain_structure_request }, measurement_intent.to_structured_request())
def test_measurement_with_missing_measurement_type(self): measurement_intent = MeasurementIntent() measurement_intent.add_file_type('SPREADSHEET') with self.assertRaises(IntentParserException): measurement_intent.to_structured_request()
def test_measurement_with_missing_file_type(self): measurement_intent = MeasurementIntent() measurement_intent.set_measurement_type( ip_constants.MEASUREMENT_TYPE_CONDITION_SPACE) with self.assertRaises(IntentParserException): measurement_intent.to_structured_request()