From 7f37f841ddbda0601b8e402c6acd3fff4a6747ef Mon Sep 17 00:00:00 2001 From: Matthias Bisping Date: Wed, 30 Mar 2022 15:32:21 +0200 Subject: [PATCH] renaming --- test/unit_tests/classifier_test.py | 4 +-- test/unit_tests/conftest.py | 28 +++++++++++++++----- test/unit_tests/extractor_classifier_test.py | 4 +-- test/unit_tests/image_classifier_test.py | 4 +-- test/unit_tests/label_mapper_test.py | 9 +++++-- 5 files changed, 35 insertions(+), 14 deletions(-) diff --git a/test/unit_tests/classifier_test.py b/test/unit_tests/classifier_test.py index 3792c90..699154e 100644 --- a/test/unit_tests/classifier_test.py +++ b/test/unit_tests/classifier_test.py @@ -9,9 +9,9 @@ logger.setLevel(logging.DEBUG) @pytest.mark.parametrize("estimator_type", ["mock", "keras"]) -def test_predict(classifier, input_batch, expected_batch_string_labels): +def test_predict(classifier, input_batch, batch_of_expected_string_labels): predictions = classifier.predict(input_batch) - assert predictions == expected_batch_string_labels + assert predictions == batch_of_expected_string_labels def test_batch_format(input_batch): diff --git a/test/unit_tests/conftest.py b/test/unit_tests/conftest.py index 85d560d..557cec7 100644 --- a/test/unit_tests/conftest.py +++ b/test/unit_tests/conftest.py @@ -37,7 +37,7 @@ def image_extractor(extractor_type): @pytest.fixture -def image_classifier(classifier, monkeypatch, expected_batch_string_labels): +def image_classifier(classifier, monkeypatch, batch_of_expected_string_labels): return ImageClassifier(classifier, preprocessor=BasicPreprocessor()) @@ -129,18 +129,34 @@ def input_size(request): @pytest.fixture -def expected_batch_string_labels(expected_batch_numeric_labels, classes): - return map_labels(expected_batch_numeric_labels, classes) +def batch_of_expected_string_labels(batch_of_expected_numeric_labels, classes): + return map_labels(batch_of_expected_numeric_labels, classes) @pytest.fixture -def expected_batch_numeric_labels(batch_size, classes): +def batch_of_expected_numeric_labels(batch_size, classes): return random.choices(range(len(classes)), k=batch_size) @pytest.fixture -def output_batch_generator(expected_batch_numeric_labels): - return iter(expected_batch_numeric_labels) +def batch_of_expected_label_to_probability_mappings(batch_of_expected_probability_arrays, classes): + + def map_probabilities(probabilities): + lbl2prob = dict(sorted(zip(classes, probabilities), key=itemgetter(1), reverse=True)) + most_likely = [*lbl2prob][0] + return {"label": most_likely, "probabilities": lbl2prob} + + return list(map(map_probabilities, batch_of_expected_probability_arrays)) + + +@pytest.fixture +def batch_of_expected_probability_arrays(batch_size, classes): + return [np.random.uniform(size=len(classes)) for _ in range(batch_size)] + + +@pytest.fixture +def output_batch_generator(batch_of_expected_numeric_labels): + return iter(batch_of_expected_numeric_labels) @pytest.fixture diff --git a/test/unit_tests/extractor_classifier_test.py b/test/unit_tests/extractor_classifier_test.py index f81d7b1..22c800e 100644 --- a/test/unit_tests/extractor_classifier_test.py +++ b/test/unit_tests/extractor_classifier_test.py @@ -7,8 +7,8 @@ from image_prediction.extractor_classifier.extractor_classifier import Extractor @pytest.mark.parametrize("extractor_type", ["mock"]) @pytest.mark.parametrize("estimator_type", ["mock", "keras"]) -def test_extractor_classifier(image_extractor, image_classifier, images, expected_batch_string_labels): +def test_extractor_classifier(image_extractor, image_classifier, images, batch_of_expected_string_labels): extractor_classifier = ExtractorClassifier(image_extractor, image_classifier) results = extractor_classifier(images) labels = list(map(itemgetter("prediction"), results)) - assert labels == expected_batch_string_labels + assert labels == batch_of_expected_string_labels diff --git a/test/unit_tests/image_classifier_test.py b/test/unit_tests/image_classifier_test.py index ffdca86..7dff19b 100644 --- a/test/unit_tests/image_classifier_test.py +++ b/test/unit_tests/image_classifier_test.py @@ -4,9 +4,9 @@ from image_prediction.utils import chunk_iterable @pytest.mark.parametrize("estimator_type", ["mock", "keras"]) -def test_predict(image_classifier, images, expected_batch_string_labels): +def test_predict(image_classifier, images, batch_of_expected_string_labels): predictions = list(image_classifier.predict(images)) - assert predictions == expected_batch_string_labels + assert predictions == batch_of_expected_string_labels def test_chunk_iterable_exact_split(): diff --git a/test/unit_tests/label_mapper_test.py b/test/unit_tests/label_mapper_test.py index 06e48b9..c420bbe 100644 --- a/test/unit_tests/label_mapper_test.py +++ b/test/unit_tests/label_mapper_test.py @@ -1,6 +1,11 @@ from image_prediction.label_mapper.mappers.numeric import IndexLabelMapper -def test_index_label_mapper(expected_batch_numeric_labels, expected_batch_string_labels, classes): +def test_index_label_mapper(batch_of_expected_numeric_labels, batch_of_expected_string_labels, classes): mapper = IndexLabelMapper(classes) - assert list(mapper(expected_batch_numeric_labels)) == expected_batch_string_labels + assert list(mapper(batch_of_expected_numeric_labels)) == batch_of_expected_string_labels + + +# def test_array_label_mapper(expected_batch_array, batch_of_expected_label_to_probability_mappings, classes): +# mapper = ProbabilityMapper(classes) +# assert list(mapper(expected_batch_numeric_labels)) == expected_batch_string_labels