Exemple #1
0
    def test_parse_limits_table_file(self):
        path = self.write_model_file(
            'limits_1.tsv', '\n'.join([
                '# comment', '', 'rxn_1', 'rxn_2\t-100', 'rxn_3\t-\t3e-1',
                'rxn_4\t-1000\t-100  # line comment'
            ]))

        limits = list(native.parse_limits_file(path))
        self.assertEqual(limits[0], ('rxn_1', None, None))
        self.assertEqual(limits[1], ('rxn_2', -100, None))
        self.assertEqual(limits[2][0], 'rxn_3')
        self.assertEqual(limits[2][1], None)
        self.assertAlmostEqual(limits[2][2], 3e-1)
        self.assertEqual(limits[3], ('rxn_4', -1000, -100))
Exemple #2
0
    def test_parse_limits_yaml_file(self):
        path = self.write_model_file(
            'limits_1.yaml', '\n'.join([
                '- include: limits_2.yml', '- reaction: rxn_3',
                '  lower: -1000', '- reaction: rxn_4', '  fixed: 10'
            ]))

        self.write_model_file(
            'limits_2.yml', '\n'.join([
                '- reaction: rxn_1', '  lower: -1', '  upper: 25.5',
                '- reaction: rxn_2'
            ]))

        limits = list(native.parse_limits_file(path))
        self.assertEqual(limits, [('rxn_1', -1, 25.5), ('rxn_2', None, None),
                                  ('rxn_3', -1000, None), ('rxn_4', 10, 10)])
Exemple #3
0
    def test_parse_limits_table_file(self):
        path = self.write_model_file('limits_1.tsv', '\n'.join([
            '# comment',
            '',
            'rxn_1',
            'rxn_2\t-100',
            'rxn_3\t-\t3e-1',
            'rxn_4\t-1000\t-100  # line comment'
        ]))

        limits = list(native.parse_limits_file(path))
        self.assertEqual(limits[0], ('rxn_1', None, None))
        self.assertEqual(limits[1], ('rxn_2', -100, None))
        self.assertEqual(limits[2][0], 'rxn_3')
        self.assertEqual(limits[2][1], None)
        self.assertAlmostEqual(limits[2][2], 3e-1)
        self.assertEqual(limits[3], ('rxn_4', -1000, -100))
Exemple #4
0
    def test_parse_limits_yaml_file(self):
        path = self.write_model_file('limits_1.yaml', '\n'.join([
            '- include: limits_2.yml',
            '- reaction: rxn_3',
            '  lower: -1000',
            '- reaction: rxn_4',
            '  upper: 0'
        ]))

        self.write_model_file('limits_2.yml', '\n'.join([
            '- reaction: rxn_1',
            '  lower: -1',
            '  upper: 25.5',
            '- reaction: rxn_2'
        ]))

        limits = list(native.parse_limits_file(path))
        self.assertEqual(limits, [
            ('rxn_1', -1, 25.5),
            ('rxn_2', None, None),
            ('rxn_3', -1000, None),
            ('rxn_4', None, 0)
        ])
Exemple #5
0
 def test_parse_limits_table_file_too_many_fields(self):
     path = self.write_model_file('limits.tsv', '\n'.join([
         'rxn_1\t-\t100\ttext']))
     with self.assertRaises(native.ParseError):
         list(native.parse_limits_file(path))
Exemple #6
0
 def test_parse_limits_table_file_too_many_fields(self):
     path = self.write_model_file('limits.tsv',
                                  '\n'.join(['rxn_1\t-\t100\ttext']))
     with self.assertRaises(native.ParseError):
         list(native.parse_limits_file(path))