aboutsummaryrefslogtreecommitdiff
path: root/test/test_tvla.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_tvla.py')
-rw-r--r--test/test_tvla.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/test_tvla.py b/test/test_tvla.py
new file mode 100644
index 0000000..4ff1359
--- /dev/null
+++ b/test/test_tvla.py
@@ -0,0 +1,25 @@
+from unittest import TestCase
+
+import numpy as np
+from pyecsca import Trace, welch_ttest, student_ttest
+
+
+class TvlaTests(TestCase):
+
+ def setUp(self):
+ self.a = Trace(None, b"\xff", np.array([20, 80], dtype=np.dtype("i1")))
+ self.b = Trace(None, b"\xff", np.array([30, 42], dtype=np.dtype("i1")))
+ self.c = Trace(None, b"\x00", np.array([78, 56], dtype=np.dtype("i1")))
+ self.d = Trace(None, b"\x00", np.array([98, 36], dtype=np.dtype("i1")))
+
+ def test_welch_ttest(self):
+ self.assertIsNotNone(welch_ttest([self.a, self.b], [self.c, self.d]))
+ a = Trace(None, None, np.array([19.8, 20.4, 19.6, 17.8, 18.5, 18.9, 18.3, 18.9, 19.5, 22.0]))
+ b = Trace(None, None, np.array([28.2, 26.6, 20.1, 23.3, 25.2, 22.1, 17.7, 27.6, 20.6, 13.7]))
+ c = Trace(None, None, np.array([20.2, 21.6, 27.1, 13.3, 24.2, 20.1, 11.7, 25.6, 26.6, 21.4]))
+
+ result = welch_ttest([a, b], [b, c])
+ self.assertIsNotNone(result)
+
+ def test_students_ttest(self):
+ self.assertIsNotNone(student_ttest([self.a, self.b], [self.c, self.d]))