# Path: q2_types/sample_data/_format.py
# class AlphaDiversityFormat(model.TextFileFormat):
#     def _validate_(self, level):


import shutil
import unittest
from q2_types.sample_data import (AlphaDiversityDirectoryFormat,
                                  AlphaDiversityFormat)
from qiime2.plugin.testing import TestPluginBase
from qiime2.plugin import ValidationError
# ----------------------------------------------------------------------------




class TestFormats(TestPluginBase):
    package = "q2_types.sample_data.tests"

    def test_alpha_diversity_format_validate_positive(self):
        filepath = self.get_data_path('alpha-diversity.tsv')
        format = AlphaDiversityFormat(filepath, mode='r')

        # Should succeed
        format.validate()

    def test_alpha_diversity_dir_fmt_validate_positive(self):
        filepath = self.get_data_path('alpha-diversity.tsv')
        shutil.copy(filepath, self.temp_dir.name)
        format = AlphaDiversityDirectoryFormat(self.temp_dir.name, mode='r')

        # Should succeed
        format.validate()

    def test_alpha_diversity_format_validate_positive_one_sample(self):
        filepath = self.get_data_path('alpha-diversity-one-sample.tsv')
        format = AlphaDiversityFormat(filepath, mode='r')

        # Should succeed
        format.validate()


# Path: q2_types/sample_data/_format.py
# class AlphaDiversityFormat(model.TextFileFormat):
#     def _validate_(self, level):


# Path: q2_types/sample_data/tests/test_format.py
import shutil
import unittest
from q2_types.sample_data import (AlphaDiversityDirectoryFormat,
                                  AlphaDiversityFormat)
from qiime2.plugin.testing import TestPluginBase
from qiime2.plugin import ValidationError

# ----------------------------------------------------------------------------




class TestFormats(TestPluginBase):
    package = "q2_types.sample_data.tests"

    def test_alpha_diversity_format_validate_positive(self):
        filepath = self.get_data_path('alpha-diversity.tsv')
        format = AlphaDiversityFormat(filepath, mode='r')

        # Should succeed
        format.validate()

    def test_alpha_diversity_dir_fmt_validate_positive(self):
        filepath = self.get_data_path('alpha-diversity.tsv')
        shutil.copy(filepath, self.temp_dir.name)
        format = AlphaDiversityDirectoryFormat(self.temp_dir.name, mode='r')

        # Should succeed
        format.validate()

    def test_alpha_diversity_format_validate_positive_one_sample(self):
        filepath = self.get_data_path('alpha-diversity-one-sample.tsv')
        format = AlphaDiversityFormat(filepath, mode='r')

        # Should succeed
        format.validate()


    def test_alpha_diversity_format_validate_positive_md_columns(self):