Skip to content
Snippets Groups Projects
test_conf.py 1.35 KiB
Newer Older
import numpy as np
import pytest

import mvcm.conf as conf


@pytest.fixture
def fixturepath():
    return os.path.join(os.path.dirname(__file__), "fixtures")


@pytest.fixture
def rad():
    return np.arange(260, 282)


@pytest.fixture
def single_threshold():
    return [267, 270, 273, 1]


@pytest.fixture
def double_threshold():
    return [264, 267, 270, 273, 276, 279, 1]


@pytest.fixture
def reference_data(fixturepath):
    return os.path.join(fixturepath, "ref_conf.npz")


def test_single_threshold(rad, single_threshold, reference_data):
    ref_confidence = np.load(reference_data)["ref_sgl"]
    ref_confidence_flipped = np.load(reference_data)["ref_sgl_flipped"]

    c = conf.conf_test_new(rad, single_threshold)
    assert np.all(c == ref_confidence)

    single_threshold[0:-1] = single_threshold[-2::-1]
    c = conf.conf_test_new(rad, single_threshold)
    assert np.all(c == ref_confidence_flipped)


def test_double_threshold(rad, double_threshold, reference_data):
    ref_confidence = np.load(reference_data)["ref_dbl"]
    ref_confidence_flipped = np.load(reference_data)["ref_dbl_flipped"]

    c = conf.conf_test_dble(rad, double_threshold)
    print(c)
    assert np.all(c == ref_confidence)

    double_threshold[0:-1] = double_threshold[-2::-1]
    c = conf.conf_test_dble(rad, double_threshold)
    assert np.all(c == ref_confidence_flipped)