aboutsummaryrefslogtreecommitdiff
path: root/src/argaze.test
diff options
context:
space:
mode:
Diffstat (limited to 'src/argaze.test')
-rw-r--r--src/argaze.test/PupilFeatures.py167
-rw-r--r--src/argaze.test/PupillAnalysis/WorkloadIndex.py (renamed from src/argaze.test/PupilAnalysis/WorkloadIndex.py)30
-rw-r--r--src/argaze.test/PupillAnalysis/__init__.py (renamed from src/argaze.test/PupilAnalysis/__init__.py)0
-rw-r--r--src/argaze.test/PupillFeatures.py167
4 files changed, 182 insertions, 182 deletions
diff --git a/src/argaze.test/PupilFeatures.py b/src/argaze.test/PupilFeatures.py
deleted file mode 100644
index ecc94cd..0000000
--- a/src/argaze.test/PupilFeatures.py
+++ /dev/null
@@ -1,167 +0,0 @@
-#!/usr/bin/env python
-
-""" """
-
-__author__ = "Théo de la Hogue"
-__credits__ = []
-__copyright__ = "Copyright 2023, Ecole Nationale de l'Aviation Civile (ENAC)"
-__license__ = "BSD"
-
-import unittest
-
-from argaze import PupilFeatures
-
-import numpy
-
-def random_pupil_diameters(size):
- """ Generate random TimeStampedPupilDiameters for testing purpose.
- Timestamps are current time.
- PupilDiameters are random values.
- """
-
- import random
- import time
-
- ts_pupil_diameters = PupilFeatures.TimeStampedPupilDiameters()
-
- for i in range(0, size):
-
- # Edit pupil diameter
- random_pupil_diameter = PupilFeatures.PupilDiameter(random.random())
-
- # Store pupil diameter
- ts_pupil_diameters[time.time()] = random_pupil_diameter
-
- return ts_pupil_diameters
-
-class TestPupilDiameterClass(unittest.TestCase):
- """Test PupilDiameter class."""
-
- def test_new(self):
- """Test PupilDiameter creation."""
-
- # Check empty PupilDiameter
- empty_pupil_diameter = PupilFeatures.PupilDiameter()
-
- self.assertEqual(empty_pupil_diameter.value, 0.)
- self.assertEqual(empty_pupil_diameter.valid, False)
-
- # Check float PupilDiameter
- float_pupil_diameter = PupilFeatures.PupilDiameter(1.23)
-
- self.assertEqual(float_pupil_diameter.value, 1.23)
- self.assertEqual(float_pupil_diameter.valid, True)
-
- def test_properties(self):
- """Test PupilDiameter properties cannot be modified after creation."""
-
- pupil_diameter = PupilFeatures.PupilDiameter()
-
- # Check that pupil diameter value setting fails
- with self.assertRaises(AttributeError):
-
- pupil_diameter.value = 123
-
- self.assertNotEqual(pupil_diameter.value, 123)
- self.assertEqual(pupil_diameter.value, 0.)
-
- def test___repr__(self):
- """Test PupilDiameter string representation."""
-
- # Check empty PupilDiameter representation
- self.assertEqual(repr(PupilFeatures.PupilDiameter()), "{\"value\": 0.0}")
-
-class TestUnvalidPupilDiameterClass(unittest.TestCase):
- """Test UnvalidPupilDiameter class."""
-
- def test_new(self):
- """Test UnvalidPupilDiameter creation."""
-
- unvalid_pupil_diameter = PupilFeatures.UnvalidPupilDiameter()
-
- self.assertEqual(unvalid_pupil_diameter.value, 0.)
- self.assertEqual(unvalid_pupil_diameter.valid, False)
-
- def test___repr__(self):
- """Test UnvalidPupilDiameter string representation."""
-
- self.assertEqual(repr(PupilFeatures.UnvalidPupilDiameter()), "{\"message\": null, \"value\": 0.0}")
-
-class TestTimeStampedPupilDiametersClass(unittest.TestCase):
- """Test TimeStampedPupilDiameters class."""
-
- def test___setitem__(self):
- """Test __setitem__ method."""
-
- ts_pupil_diameters = PupilFeatures.TimeStampedPupilDiameters()
- ts_pupil_diameters[0] = PupilFeatures.PupilDiameter()
- ts_pupil_diameters[1] = PupilFeatures.UnvalidPupilDiameter()
- ts_pupil_diameters[2] = {"value": 1.23}
-
- # Check PupilDiameter is correctly stored and accessible as a PupilDiameter
- self.assertIsInstance(ts_pupil_diameters[0], PupilFeatures.PupilDiameter)
- self.assertEqual(ts_pupil_diameters[0].valid, False)
-
- # Check UnvalidPupilDiameter is correctly stored and accessible as a UnvalidPupilDiameter
- self.assertIsInstance(ts_pupil_diameters[1], PupilFeatures.UnvalidPupilDiameter)
- self.assertEqual(ts_pupil_diameters[1].valid, False)
-
- # Check dict with "value" and "precision" keys is correctly stored and accessible as a PupilDiameter
- self.assertIsInstance(ts_pupil_diameters[2], PupilFeatures.PupilDiameter)
- self.assertEqual(ts_pupil_diameters[2].valid, True)
-
- # Check that bad data type insertion fails
- with self.assertRaises(AssertionError):
-
- ts_pupil_diameters[3] = "This string is not a pupil diameter value."
-
- # Check that dict with bad keys insertion fails
- with self.assertRaises(AssertionError):
-
- ts_pupil_diameters[4] = {"bad_key": 0.}
-
- def test___repr__(self):
- """Test inherited string representation."""
-
- ts_pupil_diameters = PupilFeatures.TimeStampedPupilDiameters()
-
- self.assertEqual(repr(PupilFeatures.TimeStampedPupilDiameters()), "{}")
-
- ts_pupil_diameters[0] = PupilFeatures.PupilDiameter()
-
- self.assertEqual(repr(ts_pupil_diameters), "{\"0\": {\"value\": 0.0}}")
-
- ts_pupil_diameters[0] = PupilFeatures.UnvalidPupilDiameter()
-
- self.assertEqual(repr(ts_pupil_diameters), "{\"0\": {\"message\": null, \"value\": 0.0}}")
-
- def test_as_dataframe(self):
- """Test inherited as_dataframe method."""
-
- ts_pupil_diameters_dataframe = random_pupil_diameters(10).as_dataframe()
-
- # Check dataframe conversion
- self.assertEqual(ts_pupil_diameters_dataframe.index.name, "timestamp")
- self.assertEqual(ts_pupil_diameters_dataframe.index.size, 10)
-
- self.assertEqual(ts_pupil_diameters_dataframe.columns.size, 1)
- self.assertEqual(ts_pupil_diameters_dataframe.columns[0], "value")
-
- self.assertEqual(ts_pupil_diameters_dataframe["value"].dtype, 'float64')
-
- # Check unvalid diameter conversion
- ts_pupil_diameters = PupilFeatures.TimeStampedPupilDiameters()
- ts_pupil_diameters[0] = PupilFeatures.UnvalidPupilDiameter()
- ts_pupil_diameters_dataframe = ts_pupil_diameters.as_dataframe()
-
- self.assertEqual(ts_pupil_diameters_dataframe.index.name, "timestamp")
- self.assertEqual(ts_pupil_diameters_dataframe.index.size, 1)
-
- self.assertEqual(ts_pupil_diameters_dataframe.columns.size, 1)
- self.assertEqual(ts_pupil_diameters_dataframe.columns[0], "value")
-
- self.assertEqual(ts_pupil_diameters_dataframe["value"].dtype, 'float64')
-
-if __name__ == '__main__':
-
- unittest.main() \ No newline at end of file
diff --git a/src/argaze.test/PupilAnalysis/WorkloadIndex.py b/src/argaze.test/PupillAnalysis/WorkloadIndex.py
index fec32ef..d60b6ae 100644
--- a/src/argaze.test/PupilAnalysis/WorkloadIndex.py
+++ b/src/argaze.test/PupillAnalysis/WorkloadIndex.py
@@ -10,8 +10,8 @@ __license__ = "BSD"
import unittest
import math
-from argaze import PupilFeatures
-from argaze.PupilAnalysis import WorkloadIndex
+from argaze import PupillFeatures
+from argaze.PupillAnalysis import WorkloadIndex
class TestWorkloadIndexClass(unittest.TestCase):
"""Test WorkloadIndex class."""
@@ -19,21 +19,21 @@ class TestWorkloadIndexClass(unittest.TestCase):
def test_analysis(self):
"""Test WorkloadIndex analysis."""
- ts_pupil_diameters = {
- 0: PupilFeatures.PupilDiameter(1.),
- 1: PupilFeatures.PupilDiameter(1.1),
- 2: PupilFeatures.PupilDiameter(1.2),
- 3: PupilFeatures.PupilDiameter(1.3),
- 4: PupilFeatures.PupilDiameter(1.2),
- 5: PupilFeatures.PupilDiameter(1.1),
- 6: PupilFeatures.PupilDiameter(1.),
- 7: PupilFeatures.PupilDiameter(0.9),
- 8: PupilFeatures.PupilDiameter(0.8),
- 9: PupilFeatures.PupilDiameter(0.7)
+ ts_pupill_diameters = {
+ 0: PupillFeatures.PupillDiameter(1.),
+ 1: PupillFeatures.PupillDiameter(1.1),
+ 2: PupillFeatures.PupillDiameter(1.2),
+ 3: PupillFeatures.PupillDiameter(1.3),
+ 4: PupillFeatures.PupillDiameter(1.2),
+ 5: PupillFeatures.PupillDiameter(1.1),
+ 6: PupillFeatures.PupillDiameter(1.),
+ 7: PupillFeatures.PupillDiameter(0.9),
+ 8: PupillFeatures.PupillDiameter(0.8),
+ 9: PupillFeatures.PupillDiameter(0.7)
}
- pupil_diameter_analyzer = WorkloadIndex.PupilDiameterAnalyzer(reference=PupilFeatures.PupilDiameter(1.), period=3)
- ts_analysis = pupil_diameter_analyzer.browse(PupilFeatures.TimeStampedPupilDiameters(ts_pupil_diameters))
+ pupill_diameter_analyzer = WorkloadIndex.PupillDiameterAnalyzer(reference=PupillFeatures.PupillDiameter(1.), period=3)
+ ts_analysis = pupill_diameter_analyzer.browse(PupillFeatures.TimeStampedPupillDiameters(ts_pupill_diameters))
# Check result size
self.assertEqual(len(ts_analysis), 3)
diff --git a/src/argaze.test/PupilAnalysis/__init__.py b/src/argaze.test/PupillAnalysis/__init__.py
index e69de29..e69de29 100644
--- a/src/argaze.test/PupilAnalysis/__init__.py
+++ b/src/argaze.test/PupillAnalysis/__init__.py
diff --git a/src/argaze.test/PupillFeatures.py b/src/argaze.test/PupillFeatures.py
new file mode 100644
index 0000000..f0e8e1b
--- /dev/null
+++ b/src/argaze.test/PupillFeatures.py
@@ -0,0 +1,167 @@
+#!/usr/bin/env python
+
+""" """
+
+__author__ = "Théo de la Hogue"
+__credits__ = []
+__copyright__ = "Copyright 2023, Ecole Nationale de l'Aviation Civile (ENAC)"
+__license__ = "BSD"
+
+import unittest
+
+from argaze import PupillFeatures
+
+import numpy
+
+def random_pupill_diameters(size):
+ """ Generate random TimeStampedPupillDiameters for testing purpose.
+ Timestamps are current time.
+ PupillDiameters are random values.
+ """
+
+ import random
+ import time
+
+ ts_pupill_diameters = PupillFeatures.TimeStampedPupillDiameters()
+
+ for i in range(0, size):
+
+ # Edit pupill diameter
+ random_pupill_diameter = PupillFeatures.PupillDiameter(random.random())
+
+ # Store pupill diameter
+ ts_pupill_diameters[time.time()] = random_pupill_diameter
+
+ return ts_pupill_diameters
+
+class TestPupillDiameterClass(unittest.TestCase):
+ """Test PupillDiameter class."""
+
+ def test_new(self):
+ """Test PupillDiameter creation."""
+
+ # Check empty PupillDiameter
+ empty_pupill_diameter = PupillFeatures.PupillDiameter()
+
+ self.assertEqual(empty_pupill_diameter.value, 0.)
+ self.assertEqual(empty_pupill_diameter.valid, False)
+
+ # Check float PupillDiameter
+ float_pupill_diameter = PupillFeatures.PupillDiameter(1.23)
+
+ self.assertEqual(float_pupill_diameter.value, 1.23)
+ self.assertEqual(float_pupill_diameter.valid, True)
+
+ def test_properties(self):
+ """Test PupillDiameter properties cannot be modified after creation."""
+
+ pupill_diameter = PupillFeatures.PupillDiameter()
+
+ # Check that pupill diameter value setting fails
+ with self.assertRaises(AttributeError):
+
+ pupill_diameter.value = 123
+
+ self.assertNotEqual(pupill_diameter.value, 123)
+ self.assertEqual(pupill_diameter.value, 0.)
+
+ def test___repr__(self):
+ """Test PupillDiameter string representation."""
+
+ # Check empty PupillDiameter representation
+ self.assertEqual(repr(PupillFeatures.PupillDiameter()), "{\"value\": 0.0}")
+
+class TestUnvalidPupillDiameterClass(unittest.TestCase):
+ """Test UnvalidPupillDiameter class."""
+
+ def test_new(self):
+ """Test UnvalidPupillDiameter creation."""
+
+ unvalid_pupill_diameter = PupillFeatures.UnvalidPupillDiameter()
+
+ self.assertEqual(unvalid_pupill_diameter.value, 0.)
+ self.assertEqual(unvalid_pupill_diameter.valid, False)
+
+ def test___repr__(self):
+ """Test UnvalidPupillDiameter string representation."""
+
+ self.assertEqual(repr(PupillFeatures.UnvalidPupillDiameter()), "{\"message\": null, \"value\": 0.0}")
+
+class TestTimeStampedPupillDiametersClass(unittest.TestCase):
+ """Test TimeStampedPupillDiameters class."""
+
+ def test___setitem__(self):
+ """Test __setitem__ method."""
+
+ ts_pupill_diameters = PupillFeatures.TimeStampedPupillDiameters()
+ ts_pupill_diameters[0] = PupillFeatures.PupillDiameter()
+ ts_pupill_diameters[1] = PupillFeatures.UnvalidPupillDiameter()
+ ts_pupill_diameters[2] = {"value": 1.23}
+
+ # Check PupillDiameter is correctly stored and accessible as a PupillDiameter
+ self.assertIsInstance(ts_pupill_diameters[0], PupillFeatures.PupillDiameter)
+ self.assertEqual(ts_pupill_diameters[0].valid, False)
+
+ # Check UnvalidPupillDiameter is correctly stored and accessible as a UnvalidPupillDiameter
+ self.assertIsInstance(ts_pupill_diameters[1], PupillFeatures.UnvalidPupillDiameter)
+ self.assertEqual(ts_pupill_diameters[1].valid, False)
+
+ # Check dict with "value" and "precision" keys is correctly stored and accessible as a PupillDiameter
+ self.assertIsInstance(ts_pupill_diameters[2], PupillFeatures.PupillDiameter)
+ self.assertEqual(ts_pupill_diameters[2].valid, True)
+
+ # Check that bad data type insertion fails
+ with self.assertRaises(AssertionError):
+
+ ts_pupill_diameters[3] = "This string is not a pupill diameter value."
+
+ # Check that dict with bad keys insertion fails
+ with self.assertRaises(AssertionError):
+
+ ts_pupill_diameters[4] = {"bad_key": 0.}
+
+ def test___repr__(self):
+ """Test inherited string representation."""
+
+ ts_pupill_diameters = PupillFeatures.TimeStampedPupillDiameters()
+
+ self.assertEqual(repr(PupillFeatures.TimeStampedPupillDiameters()), "{}")
+
+ ts_pupill_diameters[0] = PupillFeatures.PupillDiameter()
+
+ self.assertEqual(repr(ts_pupill_diameters), "{\"0\": {\"value\": 0.0}}")
+
+ ts_pupill_diameters[0] = PupillFeatures.UnvalidPupillDiameter()
+
+ self.assertEqual(repr(ts_pupill_diameters), "{\"0\": {\"message\": null, \"value\": 0.0}}")
+
+ def test_as_dataframe(self):
+ """Test inherited as_dataframe method."""
+
+ ts_pupill_diameters_dataframe = random_pupill_diameters(10).as_dataframe()
+
+ # Check dataframe conversion
+ self.assertEqual(ts_pupill_diameters_dataframe.index.name, "timestamp")
+ self.assertEqual(ts_pupill_diameters_dataframe.index.size, 10)
+
+ self.assertEqual(ts_pupill_diameters_dataframe.columns.size, 1)
+ self.assertEqual(ts_pupill_diameters_dataframe.columns[0], "value")
+
+ self.assertEqual(ts_pupill_diameters_dataframe["value"].dtype, 'float64')
+
+ # Check unvalid diameter conversion
+ ts_pupill_diameters = PupillFeatures.TimeStampedPupillDiameters()
+ ts_pupill_diameters[0] = PupillFeatures.UnvalidPupillDiameter()
+ ts_pupill_diameters_dataframe = ts_pupill_diameters.as_dataframe()
+
+ self.assertEqual(ts_pupill_diameters_dataframe.index.name, "timestamp")
+ self.assertEqual(ts_pupill_diameters_dataframe.index.size, 1)
+
+ self.assertEqual(ts_pupill_diameters_dataframe.columns.size, 1)
+ self.assertEqual(ts_pupill_diameters_dataframe.columns[0], "value")
+
+ self.assertEqual(ts_pupill_diameters_dataframe["value"].dtype, 'float64')
+
+if __name__ == '__main__':
+
+ unittest.main() \ No newline at end of file