Skip to content

Commit

Permalink
refactoring tests to separate util testing from actual methods
Browse files Browse the repository at this point in the history
  • Loading branch information
lizgehret committed Aug 7, 2024
1 parent acb02f3 commit 2988af7
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 127 deletions.
48 changes: 0 additions & 48 deletions q2_vizard/tests/test_curveplot.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,21 +40,6 @@ def setUp(self):


class TestCurveplot(TestBase):
def test_x_measure_not_in_metadata(self):
with tempfile.TemporaryDirectory() as output_dir:
with self.assertRaisesRegex(ValueError,
'`boo` not found as a column'):
curveplot(output_dir=output_dir,
metadata=self.md, x_measure='boo')

def test_x_measure_not_numeric_md_column(self):
with tempfile.TemporaryDirectory() as output_dir:
with self.assertRaisesRegex(
TypeError, '`categorical-col` not.*`NumericMetadataColumn`'
):
curveplot(output_dir=output_dir,
metadata=self.md, x_measure='categorical-col')

def test_x_measure_no_group_with_replicates(self):
with tempfile.TemporaryDirectory() as output_dir:
with self.assertRaisesRegex(
Expand All @@ -71,43 +56,10 @@ def test_x_measure_group_with_replicates(self):
curveplot(output_dir=output_dir, metadata=self.md,
x_measure='replicates', group='groups')

def test_y_measure_not_in_metadata(self):
with tempfile.TemporaryDirectory() as output_dir:
with self.assertRaisesRegex(ValueError,
'`boo` not found as a column'):
curveplot(output_dir=output_dir,
metadata=self.md, x_measure='numeric-col',
y_measure='boo')

def test_y_measure_not_numeric_md_column(self):
with tempfile.TemporaryDirectory() as output_dir:
with self.assertRaisesRegex(
TypeError, '`categorical-col` not.*`NumericMetadataColumn`'
):
curveplot(output_dir=output_dir,
metadata=self.md, x_measure='numeric-col',
y_measure='categorical-col')

def test_y_measure_same_column_as_x_measure(self):
with tempfile.TemporaryDirectory() as output_dir:
with self.assertRaisesRegex(
ValueError, 'same column `numeric-col` has been used'
):
curveplot(output_dir=output_dir, metadata=self.md,
x_measure='numeric-col', y_measure='numeric-col')

def test_group_measure_not_in_metadata(self):
with tempfile.TemporaryDirectory() as output_dir:
with self.assertRaisesRegex(ValueError,
'`boo` not found as a column'):
curveplot(output_dir=output_dir,
metadata=self.md, x_measure='numeric-col',
group='boo')

def test_group_measure_not_categorical_md_column(self):
with tempfile.TemporaryDirectory() as output_dir:
with self.assertRaisesRegex(
TypeError, '`replicates` not.*`CategoricalMetadataColumn`'
):
curveplot(output_dir=output_dir, metadata=self.md,
x_measure='numeric-col', group='replicates')
79 changes: 0 additions & 79 deletions q2_vizard/tests/test_scatterplot.py

This file was deleted.

52 changes: 52 additions & 0 deletions q2_vizard/tests/test_util.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# ----------------------------------------------------------------------------
# Copyright (c) 2023-2024, QIIME 2 development team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file LICENSE, distributed with this software.
# ----------------------------------------------------------------------------

import pandas as pd

from qiime2.plugin.testing import TestPluginBase
from qiime2 import Metadata

from .._util import _measure_validation


class TestBase(TestPluginBase):
package = 'q2_vizard.tests'

def setUp(self):
super().setUp()
index = pd.Index(['sample1', 'sample2', 'sample3'],
name='sample-id')
data = [
[1.0, 'foo'],
[2.0, 'bar'],
[3.0, 'baz']
]
self.md = Metadata(pd.DataFrame(data=data, index=index, dtype=object,
columns=['numeric-col',
'categorical-col']))


class TestMeasureValidation(TestBase):
def test_measure_not_in_metadata(self):
with self.assertRaisesRegex(ValueError, '`boo` not found as a column'):
_measure_validation(metadata=self.md, measure='boo',
col_type='numeric')

def test_measure_not_categorical(self):
with self.assertRaisesRegex(
TypeError, '`categorical-col` not.*`NumericMetadataColumn`'
):
_measure_validation(metadata=self.md, measure='categorical-col',
col_type='numeric')

def test_measure_not_numeric(self):
with self.assertRaisesRegex(
TypeError, '`numeric-col` not.*`CategoricalMetadataColumn`'
):
_measure_validation(metadata=self.md, measure='numeric-col',
col_type='categorical')

0 comments on commit 2988af7

Please sign in to comment.