diff --git a/tests/test_conf.py b/tests/test_conf.py
new file mode 100644
index 0000000000000000000000000000000000000000..33a193cf8de0293a58e70d01fbd630e991be0416
--- /dev/null
+++ b/tests/test_conf.py
@@ -0,0 +1,56 @@
+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)
diff --git a/tests/test_spectral_tests.py b/tests/test_spectral_tests.py
new file mode 100644
index 0000000000000000000000000000000000000000..b6ac684fb960ad3efa55386742f614532d2162eb
--- /dev/null
+++ b/tests/test_spectral_tests.py
@@ -0,0 +1,44 @@
+import os
+import yaml
+import xarray as xr
+import numpy as np
+
+import pytest
+
+import mvcm.spectral_tests as tst
+
+
+@pytest.fixture
+def fixturepath():
+    return os.path.join(os.path.dirname(__file__), 'fixtures')
+
+
+@pytest.fixture
+def thresholds_file(fixturepath):
+    return os.path.join(fixturepath, 'thresholds.mvcm.snpp.v0.0.1.yaml')
+
+
+@pytest.fixture
+def data_path():
+    return '/ships19/hercules/pveglio/mvcm_cleanup'
+
+
+@pytest.fixture
+def data_file(data_path):
+    return os.path.join(data_path, 'viirs_data_A2022173.1312.nc')
+
+
+def test_11um_test(data_file, thresholds_file):
+    with open(thresholds_file, 'r') as f:
+        cfg_text = f.read()
+    thresholds = yaml.safe_load(cfg_text)
+
+    viirs_data = xr.open_dataset(data_file)
+    cmin = np.ones(viirs_data.latitude.shape)
+
+    for scene_name in ['Ocean_Day', 'Ocean_Night', 'Polar_Day_Ocean', 'Polar_Night_Ocean']:
+        SceneType = tst.CloudTests(data=viirs_data,
+                                   scene_name=scene_name,
+                                   thresholds=thresholds)
+
+        cmin, bit = SceneType.test_11um('M15', cmin)