Skip to content
Snippets Groups Projects
test_conf.py 1.35 KiB
Newer Older
import os
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)