Skip to content

Commit

Permalink
Add unit tests for calculate h ratio
Browse files Browse the repository at this point in the history
Added unit tests and removed old comments
  • Loading branch information
GuiMacielPereira committed Sep 10, 2024
1 parent b0991a0 commit 1ffa208
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 4 deletions.
6 changes: 2 additions & 4 deletions src/mvesuvio/analysis_reduction.py
Original file line number Diff line number Diff line change
Expand Up @@ -216,11 +216,9 @@ def calculate_h_ratio(self):
return None

# Hydrogen present
# intensities = np.array([p.mean_intensity for p in self._profiles.values()])
intensities = self.mean_intensity_ratios
# masses = np.array([p.mass for p in self._profiles.values()])

intensities = self._mean_intensity_ratios
sorted_intensities = intensities[np.argsort(self._masses)]

return sorted_intensities[0] / sorted_intensities[1]


Expand Down
36 changes: 36 additions & 0 deletions tests/unit/analysis/test_analysis_reduction.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import unittest
import numpy as np
import numpy.testing as nptest
from mock import MagicMock
from mvesuvio.analysis_reduction import AnalysisRoutine
from mantid.simpleapi import CreateWorkspace, DeleteWorkspace


class TestAnalysisFunctions(unittest.TestCase):
def setUp(self):
pass

def test_calculate_h_ratio_masses_ordered(self):
alg = AnalysisRoutine()
alg._mean_intensity_ratios = np.array([0.91175, 0.06286, 0.00732, 0.01806])
alg._masses = np.array([1.0079, 12.0, 16.0, 27.0])
h_ratio = alg.calculate_h_ratio()
self.assertAlmostEqual(14.504454343, h_ratio)

def test_calculate_h_ratio_masses_unordered(self):
alg = AnalysisRoutine()
alg._mean_intensity_ratios = np.array([0.00732, 0.06286, 0.01806, 0.91175])
alg._masses = np.array([16.0, 12.0, 27.0, 1.0079])
h_ratio = alg.calculate_h_ratio()
self.assertAlmostEqual(14.504454343, h_ratio)

def test_calculate_h_ratio_hydrogen_missing(self):
alg = AnalysisRoutine()
alg._mean_intensity_ratios = np.array([0.00732, 0.06286, 0.01806])
alg._masses = np.array([16.0, 12.0, 27.0])
h_ratio = alg.calculate_h_ratio()
self.assertAlmostEqual(None, h_ratio)


if __name__ == "__main__":
unittest.main()

0 comments on commit 1ffa208

Please sign in to comment.