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_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())