diff options
author | Théo de la Hogue | 2023-05-31 15:35:28 +0200 |
---|---|---|
committer | Théo de la Hogue | 2023-05-31 15:35:28 +0200 |
commit | e35e90d161ffb9202459631a0049448cde905b3c (patch) | |
tree | 0ad987c3ffcea30f739cc8e106df2a5f00ad22da /src/argaze.test/GazeAnalysis/LempelZivComplexity.py | |
parent | d1cdae406d349023eb9e221fd226c05744064dfd (diff) | |
download | argaze-e35e90d161ffb9202459631a0049448cde905b3c.zip argaze-e35e90d161ffb9202459631a0049448cde905b3c.tar.gz argaze-e35e90d161ffb9202459631a0049448cde905b3c.tar.bz2 argaze-e35e90d161ffb9202459631a0049448cde905b3c.tar.xz |
Testing all gaze analysis algorithm. Unifying paper citation.
Diffstat (limited to 'src/argaze.test/GazeAnalysis/LempelZivComplexity.py')
-rw-r--r-- | src/argaze.test/GazeAnalysis/LempelZivComplexity.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/argaze.test/GazeAnalysis/LempelZivComplexity.py b/src/argaze.test/GazeAnalysis/LempelZivComplexity.py new file mode 100644 index 0000000..75afc4d --- /dev/null +++ b/src/argaze.test/GazeAnalysis/LempelZivComplexity.py @@ -0,0 +1,54 @@ +#!/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 LempelZivComplexity +from argaze.utils import MiscFeatures + +GazeFeaturesTest = MiscFeatures.importFromTestPackage('GazeFeatures') + +class TestAOIScanPathAnalyzer(unittest.TestCase): + """Test AOIScanPathAnalyzer class.""" + + @unittest.skip("The result is not like in the paper.") + def test_analyze_first_example(self): + """Test analyze method with first example sequence from the paper.""" + + lzc_analyzer = LempelZivComplexity.AOIScanPathAnalyzer() + + aoi_scan_path = GazeFeaturesTest.build_aoi_scan_path(['Foo', 'Bar', 'Shu'], ['Bar', 'Shu', 'Bar', 'Shu', 'Bar', 'Shu', 'Bar', 'Shu', 'Bar', 'Shu', 'Bar', 'Shu', 'Foo']) + + # Check aoi scan path + self.assertEqual(len(aoi_scan_path), 13) + + lzc = lzc_analyzer.analyze(aoi_scan_path) + + # Check LZC coefficient + self.assertEqual(lzc, 6) + + def test_analyze_seconde_example(self): + """Test analyze method with second example sequence from the paper.""" + + lzc_analyzer = LempelZivComplexity.AOIScanPathAnalyzer() + + aoi_scan_path = GazeFeaturesTest.build_aoi_scan_path(['Ade', 'Bar', 'Cob', 'Gno', 'Kel', 'Iop', 'Eca'], ['Bar', 'Cob', 'Ade', 'Kel', 'Ade', 'Cob', 'Kel', 'Gno', 'Kel', 'Ade', 'Kel', 'Iop', 'Eca']) + + # Check aoi scan path + self.assertEqual(len(aoi_scan_path), 13) + + lzc = lzc_analyzer.analyze(aoi_scan_path) + + # Check LZC coefficient + self.assertEqual(lzc, 9) + +if __name__ == '__main__': + + unittest.main()
\ No newline at end of file |