From 3eacf9ce6ca5235c85277392132b9d31fe72a0f0 Mon Sep 17 00:00:00 2001 From: Richard Date: Fri, 30 Sep 2022 09:58:03 +0100 Subject: [PATCH] improve tests using pytest --- .../two_d/serial/test_serial_prescan.py | 53 ++++++++----------- 1 file changed, 23 insertions(+), 30 deletions(-) diff --git a/test_autocti/extract/two_d/serial/test_serial_prescan.py b/test_autocti/extract/two_d/serial/test_serial_prescan.py index e9277ff2..a5b291fb 100644 --- a/test_autocti/extract/two_d/serial/test_serial_prescan.py +++ b/test_autocti/extract/two_d/serial/test_serial_prescan.py @@ -1,44 +1,37 @@ import numpy as np +import pytest import autocti as ac -def test__region_list_from(serial_array, serial_masked_array): - extract = ac.Extract2DSerialPrescan(serial_prescan=(0, 3, 1, 4)) +@pytest.fixture(name="extract") +def make_extract(): + return ac.Extract2DSerialPrescan(serial_prescan=(0, 3, 1, 4)) - prescan_list = extract.array_2d_list_from(array=serial_array, pixels=(0, 1)) - assert (prescan_list[0] == np.array([[1.0], [1.0], [1.0]])).all() +@pytest.mark.parametrize( + "pixels, array", + [ + ((0, 1), [[1.0], [1.0], [1.0]]), + ((1, 2), [[2.0], [2.0], [2.0]]), + ((2, 3), [[3.0], [3.0], [3.0]]), + ((-1, 1), [[0.0, 1.0], [0.0, 1.0], [0.0, 1.0]]), + ((0, 2), [[1.0, 2.0], [1.0, 2.0], [1.0, 2.0]]), + ((1, 4), [[2.0, 3.0, 4.0], [2.0, 3.0, 4.0], [2.0, 3.0, 4.0]]), + ] +) +def test_region_list_serial_array(extract, serial_array, pixels, array): + prescan_list = extract.array_2d_list_from(array=serial_array, pixels=pixels) - prescan_list = extract.array_2d_list_from(array=serial_array, pixels=(1, 2)) + assert (prescan_list[0] == np.array(array)).all() - assert (prescan_list[0] == np.array([[2.0], [2.0], [2.0]])).all() - - prescan_list = extract.array_2d_list_from(array=serial_array, pixels=(2, 3)) - - assert (prescan_list[0] == np.array([[3.0], [3.0], [3.0]])).all() - - prescan_list = extract.array_2d_list_from(array=serial_array, pixels=(-1, 1)) - - assert (prescan_list[0] == np.array([[0.0, 1.0], [0.0, 1.0], [0.0, 1.0]])).all() - - extract = ac.Extract2DSerialPrescan(serial_prescan=(0, 3, 1, 5)) - - prescan_list = extract.array_2d_list_from(array=serial_array, pixels=(0, 2)) - - assert (prescan_list[0] == np.array([[1.0, 2.0], [1.0, 2.0], [1.0, 2.0]])).all() - - prescan_list = extract.array_2d_list_from(array=serial_array, pixels=(1, 4)) - - assert ( - prescan_list[0] == np.array([[2.0, 3.0, 4.0], [2.0, 3.0, 4.0], [2.0, 3.0, 4.0]]) - ).all() +def test_region_list_serial_masked_array(extract, serial_masked_array): prescan_list = extract.array_2d_list_from(array=serial_masked_array, pixels=(0, 3)) assert ( - (prescan_list[0].mask) - == np.array( - [[False, False, False], [False, True, False], [False, False, False]] - ) + (prescan_list[0].mask) + == np.array( + [[False, False, False], [False, True, False], [False, False, False]] + ) ).all()