Skip to content

Commit

Permalink
adding regression test for sample summary report
Browse files Browse the repository at this point in the history
  • Loading branch information
Jazz Mack Smith committed Jan 9, 2024
1 parent 2f59d52 commit b4425f0
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 2 deletions.
58 changes: 58 additions & 0 deletions Tests/test_regression.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import os
import sys
import unittest

sys.path.append("..")
import nPYc

"""
Tests for checking specific data values remain the same after report functionality changes
"""
class test_sample_summary_regression(unittest.TestCase):

def setUp(self):
# load test data specific for this purpose: we know the correct numbers
self.data = nPYc.MSDataset(os.path.join('..', '..',
'npc-standard-project',
'Regression_Testing_Data',
'DEVSET U RPOS xcms_regressionTesting.csv'),
fileType='XCMS',
sop='GenericMS',
noFeatureParams=9)

self.data.addSampleInfo(descriptionFormat='Basic CSV',
filePath=os.path.join('..', '..',
'npc-standard-project',
'Regression_Testing_Data',
'DEVSET U RPOS Basic CSV_regressionTesting.csv'))

def test_report_samplesummary(self):

sampleSummary = nPYc.reports._generateSampleReport(self.data, returnOutput=True)

# Check returns against expected

# Acquired - Totals
assert sampleSummary['Acquired'].loc['All', 'Total'] == 115
assert sampleSummary['Acquired'].loc['Study Sample', 'Total'] == 8
assert sampleSummary['Acquired'].loc['Study Reference', 'Total'] == 11
assert sampleSummary['Acquired'].loc['Long-Term Reference', 'Total'] == 1
assert sampleSummary['Acquired'].loc['Serial Dilution', 'Total'] == 92
assert sampleSummary['Acquired'].loc['Blank', 'Total'] == 2
assert sampleSummary['Acquired'].loc['Unknown', 'Total'] == 1

# Acquired - Marked for exclusion
assert sampleSummary['Acquired'].loc['All', 'Marked for Exclusion'] == 1
assert sampleSummary['Acquired'].loc['Study Sample', 'Marked for Exclusion'] == 1
assert sampleSummary['Acquired'].loc['Study Reference', 'Marked for Exclusion'] == 0
assert sampleSummary['Acquired'].loc['Long-Term Reference', 'Marked for Exclusion'] == 0
assert sampleSummary['Acquired'].loc['Serial Dilution', 'Marked for Exclusion'] == 0
assert sampleSummary['Acquired'].loc['Blank', 'Marked for Exclusion'] == 0
assert sampleSummary['Acquired'].loc['Unknown', 'Marked for Exclusion'] == 0

# Check details tables
assert sampleSummary['MarkedToExclude Details'].shape == (1, 2)
assert sampleSummary['UnknownType Details'].shape == (1, 1)

if __name__ == '__main__':
unittest.main()
8 changes: 6 additions & 2 deletions nPYc/reports/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
"""
The :py:mod:`~nPYc.reports` submodule provides functions to generate a variety of automated reports on :py:class:`~nPYc.objects.Dataset` objects. Most reports can be displayed inline (i.e. in a Jupyter notebook), or saved to disk as an HTML file with images.
The :py:mod:`~nPYc.reports` submodule provides functions to generate a variety of
automated reports on :py:class:`~nPYc.objects.Dataset` objects.
Most reports can be displayed inline (i.e. in a Jupyter notebook),
or saved to disk as an HTML file with images.
"""
from .featureID import generateMSIDrequests
from .generateReport import generateReport
Expand All @@ -9,4 +12,5 @@
from ._generateSampleReport import _generateSampleReport
from .multivariateReport import multivariateReport

__all__ = ['generateMSIDrequests', 'generateReport', '_generateSampleReport', '_generateReportMS', '_generateReportNMR', '_generateReportTargeted', 'multivariateReport']
__all__ = ['generateMSIDrequests', 'generateReport', '_generateSampleReport', '_generateReportMS',
'_generateReportNMR', '_generateReportTargeted', 'multivariateReport']

0 comments on commit b4425f0

Please sign in to comment.