aboutsummaryrefslogtreecommitdiff
path: root/src/argaze.test/GazeAnalysis
diff options
context:
space:
mode:
authorThéo de la Hogue2023-05-31 11:57:32 +0200
committerThéo de la Hogue2023-05-31 11:57:32 +0200
commit516ed19d801f9fe27ad3b70e72e3b0f9c057efdf (patch)
treea6df917d60ebf4b7736f1a8bfdd5c68a744ef25e /src/argaze.test/GazeAnalysis
parent9fd1954be304ec7691667b635f10eb61bd5e25d8 (diff)
downloadargaze-516ed19d801f9fe27ad3b70e72e3b0f9c057efdf.zip
argaze-516ed19d801f9fe27ad3b70e72e3b0f9c057efdf.tar.gz
argaze-516ed19d801f9fe27ad3b70e72e3b0f9c057efdf.tar.bz2
argaze-516ed19d801f9fe27ad3b70e72e3b0f9c057efdf.tar.xz
Testing and commenting transition matrix.
Diffstat (limited to 'src/argaze.test/GazeAnalysis')
-rw-r--r--src/argaze.test/GazeAnalysis/TransitionMatrix.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/argaze.test/GazeAnalysis/TransitionMatrix.py b/src/argaze.test/GazeAnalysis/TransitionMatrix.py
new file mode 100644
index 0000000..14a34ce
--- /dev/null
+++ b/src/argaze.test/GazeAnalysis/TransitionMatrix.py
@@ -0,0 +1,51 @@
+#!/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 GazeFeatures
+from argaze.GazeAnalysis import TransitionMatrix
+from argaze.utils import MiscFeatures
+
+GazeFeaturesTest = MiscFeatures.importFromTestPackage('GazeFeatures')
+
+class TestAOIScanPathAnalyzer(unittest.TestCase):
+ """Test AOIScanPathAnalyzer class."""
+
+ def test_analyse(self):
+ """Test analyse method."""
+
+ aoi_scan_path = GazeFeaturesTest.build_aoi_scan_path(['Foo', 'Bar', 'Shu'], ['Bar', 'Shu', 'Foo', 'Bar'])
+
+ transition_matrix_analyser = TransitionMatrix.AOIScanPathAnalyzer()
+ transition_matrix_probabilities, transition_matrix_density = transition_matrix_analyser.analyze(aoi_scan_path)
+
+ # Check aoi scan path
+ self.assertEqual(len(aoi_scan_path), 4)
+
+ # Check transition matrix probabilities ([destination][departure])
+ self.assertEqual(transition_matrix_probabilities['Foo']['Foo'], 0)
+ self.assertEqual(transition_matrix_probabilities['Bar']['Bar'], 0)
+ self.assertEqual(transition_matrix_probabilities['Shu']['Shu'], 0)
+
+ self.assertEqual(transition_matrix_probabilities['Foo']['Bar'], 0)
+ self.assertEqual(transition_matrix_probabilities['Foo']['Shu'], 1)
+
+ self.assertEqual(transition_matrix_probabilities['Bar']['Foo'], 1)
+ self.assertEqual(transition_matrix_probabilities['Bar']['Shu'], 0)
+
+ self.assertEqual(transition_matrix_probabilities['Shu']['Foo'], 0)
+ self.assertEqual(transition_matrix_probabilities['Shu']['Bar'], 1)
+
+ # Check transition matrix density
+ self.assertEqual(transition_matrix_density, 0.3333333333333333)
+
+if __name__ == '__main__':
+
+ unittest.main() \ No newline at end of file