Esempio n. 1
0
    def test_valid_alternate_header(self):
        # `Distance` instead of `Difference` for second column name
        filepath = self.get_data_path('ecam-first-distances.tsv')
        format = FirstDifferencesFormat(filepath, mode='r')

        format.validate('min')
        format.validate('max')
Esempio n. 2
0
    def test_invalid_empty_file(self):
        filepath = self.get_data_path('empty')
        format = FirstDifferencesFormat(filepath, mode='r')

        for level in 'min', 'max':
            with self.assertRaisesRegex(ValidationError,
                                        'Header line must be TSV'):
                format.validate(level)
Esempio n. 3
0
    def test_invalid_header_only(self):
        filepath = self.get_data_path('first-differences-header-only.tsv')
        format = FirstDifferencesFormat(filepath, mode='r')

        for level in 'min', 'max':
            with self.assertRaisesRegex(ValidationError,
                                        "at least one data record"):
                format.validate(level)
Esempio n. 4
0
    def test_invalid_non_numeric_column(self):
        filepath = self.get_data_path('first-differences-non-numeric.tsv')
        format = FirstDifferencesFormat(filepath, mode='r')

        for level in 'min', 'max':
            with self.assertRaisesRegex(ValidationError,
                                        "non-numeric.*'e'.*line 4"):
                format.validate(level)
Esempio n. 5
0
    def test_invalid_not_two_fields(self):
        filepath = self.get_data_path('first-differences-not-two-fields.tsv')
        format = FirstDifferencesFormat(filepath, mode='r')

        for level in 'min', 'max':
            with self.assertRaisesRegex(ValidationError,
                                        'two fields.*3.*line 2.*\n\n.*a'):
                format.validate(level)
Esempio n. 6
0
    def test_invalid_header(self):
        filepath = self.get_data_path('first-differences-invalid-header.tsv')
        format = FirstDifferencesFormat(filepath, mode='r')

        for level in 'min', 'max':
            with self.assertRaisesRegex(ValidationError,
                                        'Header.*\n\n.*#SampleID.*Peanut'):
                format.validate(level)
Esempio n. 7
0
    def test_valid_min_invalid_max(self):
        filepath = self.get_data_path(
                'first-differences-valid-min-invalid-max.tsv')
        format = FirstDifferencesFormat(filepath, mode='r')

        # Error not raised with min validation.
        format.validate('min')

        # Error raised with max validation.
        with self.assertRaisesRegex(ValidationError,
                                    "non-numeric.*'milo'.*line 7"):
            format.validate('max')
Esempio n. 8
0
    def test_valid_real_data(self):
        filepath = self.get_data_path('ecam-taxa-first-differences.tsv')
        format = FirstDifferencesFormat(filepath, mode='r')

        format.validate('min')
        format.validate('max')
Esempio n. 9
0
    def test_valid_simple(self):
        filepath = self.get_data_path('first-differences-simple.tsv')
        format = FirstDifferencesFormat(filepath, mode='r')

        format.validate('min')
        format.validate('max')