diff --git a/quapy/tests/__init__.py b/quapy/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/quapy/tests/test_base.py b/quapy/tests/test_base.py new file mode 100644 index 0000000..4fd9faa --- /dev/null +++ b/quapy/tests/test_base.py @@ -0,0 +1,5 @@ +import pytest + +def test_import(): + import quapy as qp + assert qp.__version__ is not None diff --git a/quapy/tests/test_datasets.py b/quapy/tests/test_datasets.py new file mode 100644 index 0000000..3f8f673 --- /dev/null +++ b/quapy/tests/test_datasets.py @@ -0,0 +1,18 @@ +import pytest + +from quapy.data.datasets import REVIEWS_SENTIMENT_DATASETS, TWITTER_SENTIMENT_DATASETS_TEST, \ + TWITTER_SENTIMENT_DATASETS_TRAIN, UCI_DATASETS, fetch_reviews, fetch_twitter, fetch_UCIDataset + + +@pytest.mark.parametrize('dataset_name', REVIEWS_SENTIMENT_DATASETS) +def test_fetch_reviews(dataset_name): + fetch_reviews(dataset_name) + + +@pytest.mark.parametrize('dataset_name', TWITTER_SENTIMENT_DATASETS_TEST + TWITTER_SENTIMENT_DATASETS_TRAIN) +def test_fetch_twitter(dataset_name): + fetch_twitter(dataset_name) + +@pytest.mark.parametrize('dataset_name', UCI_DATASETS) +def test_fetch_UCIDataset(dataset_name): + fetch_UCIDataset(dataset_name) diff --git a/quapy/tests/test_methods.py b/quapy/tests/test_methods.py new file mode 100644 index 0000000..660c45e --- /dev/null +++ b/quapy/tests/test_methods.py @@ -0,0 +1,29 @@ +import numpy +import pytest +from sklearn.linear_model import LogisticRegression +from sklearn.naive_bayes import MultinomialNB +from sklearn.svm import LinearSVC + +import quapy as qp + +datasets = [qp.datasets.fetch_twitter('semeval16')] + +aggregative_methods = [qp.method.aggregative.CC, qp.method.aggregative.ACC, qp.method.aggregative.ELM] + +learners = [LogisticRegression, MultinomialNB, LinearSVC] + + +@pytest.mark.parametrize('dataset', datasets) +@pytest.mark.parametrize('aggregative_method', aggregative_methods) +@pytest.mark.parametrize('learner', learners) +def test_aggregative_methods(dataset, aggregative_method, learner): + model = aggregative_method(learner()) + + model.fit(dataset.training) + + estim_prevalences = model.quantify(dataset.test.instances) + + true_prevalences = dataset.test.prevalence() + error = qp.error.mae(true_prevalences, estim_prevalences) + + assert type(error) == numpy.float64