aboutsummaryrefslogtreecommitdiff
path: root/test/sca/test_process.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/sca/test_process.py')
-rw-r--r--test/sca/test_process.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/test/sca/test_process.py b/test/sca/test_process.py
new file mode 100644
index 0000000..5b80d1f
--- /dev/null
+++ b/test/sca/test_process.py
@@ -0,0 +1,50 @@
+from unittest import TestCase
+
+import numpy as np
+from pyecsca.sca import Trace, absolute, invert, threshold, rolling_mean, offset, recenter, normalize, normalize_wl
+
+
+class ProcessTests(TestCase):
+
+ def setUp(self):
+ self._trace = Trace(None, None, np.array([30, -60, 145, 247], dtype=np.dtype("i2")))
+
+ def test_absolute(self):
+ result = absolute(self._trace)
+ self.assertIsNotNone(result)
+ self.assertEqual(result.samples[1], 60)
+
+ def test_invert(self):
+ result = invert(self._trace)
+ self.assertIsNotNone(result)
+ np.testing.assert_equal(result.samples, [-30, 60, -145, -247])
+
+ def test_threshold(self):
+ result = threshold(self._trace, 128)
+ self.assertIsNotNone(result)
+ self.assertEqual(result.samples[0], 0)
+ self.assertEqual(result.samples[2], 1)
+
+ def test_rolling_mean(self):
+ result = rolling_mean(self._trace, 2)
+ self.assertIsNotNone(result)
+ self.assertEqual(len(result.samples), 3)
+ self.assertEqual(result.samples[0], -15)
+ self.assertEqual(result.samples[1], 42)
+ self.assertEqual(result.samples[2], 196)
+
+ def test_offset(self):
+ result = offset(self._trace, 5)
+ self.assertIsNotNone(result)
+ np.testing.assert_equal(result.samples, np.array([35, -55, 150, 252], dtype=np.dtype("i2")))
+
+ def test_recenter(self):
+ self.assertIsNotNone(recenter(self._trace))
+
+ def test_normalize(self):
+ result = normalize(self._trace)
+ self.assertIsNotNone(result)
+
+ def test_normalize_wl(self):
+ result = normalize_wl(self._trace)
+ self.assertIsNotNone(result) \ No newline at end of file