preprocess_test.py 1.44 KB
Newer Older
Lukas Eller's avatar
Lukas Eller committed
1
import unittest
2

Lukas Eller's avatar
Lukas Eller committed
3 4
import pandas as pd

Lukas Eller's avatar
Lukas Eller committed
5 6
from context import measprocess as mpc

7

Lukas Eller's avatar
Lukas Eller committed
8 9
class TestLinkFrames(unittest.TestCase):
    def setUp(self):
10 11
        # Init the Dummy Example
        A = pd.DataFrame({"ref": [10, 20, 30, 31, 5], "info": [5, 4, 1, 2, 1]})
Lukas Eller's avatar
Lukas Eller committed
12
        A.index = range(2, 7)
Lukas Eller's avatar
Lukas Eller committed
13

14 15 16
        B = pd.DataFrame(
            {"ref": [15, 17, 27, 4], "info": [1, 2, 3, 4], "yo": [4, 6, 1, 8]}
        )
Lukas Eller's avatar
Lukas Eller committed
17
        B.index = range(9, 13)
Lukas Eller's avatar
Lukas Eller committed
18

Lukas Eller's avatar
Lukas Eller committed
19 20
        self._A, self._B = A, B

21 22 23 24 25 26
        self._meas = pd.read_csv(
            "tests/example_files/scanner_1/measurement_example.csv", index_col=0
        )
        self._gps = pd.read_csv(
            "tests/example_files/scanner_1/gps_example.csv", index_col=0
        )
Lukas Eller's avatar
Lukas Eller committed
27

Lukas Eller's avatar
Lukas Eller committed
28
    def test_multiindex_dummy(self):
29
        combined, _ = mpc.nemo.process.link_dataframes(self._A, self._B, ref_col="ref")
Lukas Eller's avatar
Lukas Eller committed
30

31
        self.assertTrue(all(self._A == combined["A"]))
Lukas Eller's avatar
Lukas Eller committed
32 33 34

    def test_real_numeric_type(self):
        with self.assertRaises(ValueError):
35 36
            combined = mpc.nemo.process.link_dataframes(
                self._meas, self._gps, "Datetime"
Lukas Eller's avatar
Lukas Eller committed
37 38 39 40
            )

    def test_multiindex_real(self):
        meas, gps = self._meas, self._gps
41 42
        meas["Datetime"] = pd.to_datetime(meas["Datetime"])
        gps["Datetime"] = pd.to_datetime(gps["Datetime"])
Lukas Eller's avatar
Lukas Eller committed
43

44 45 46
        combined, _ = mpc.nemo.process.link_dataframes(meas, gps, "Datetime")

        self.assertTrue(all(meas == combined["A"]))
Lukas Eller's avatar
Lukas Eller committed
47 48


49
if __name__ == "__main__":
Lukas Eller's avatar
Lukas Eller committed
50
    unittest.main()