Source code for scibeam.tests.test_tofseries

# test_tofseries.py --- 
# 
# Filename: test_tofseries.py
# Description: 
#            unittests of tofseries
# Author:    Yu Lu
# Email:     yulu@utexas.edu
# Github:    https://github.com/SuperYuLu 
# 
# Created: Sat Jul 21 07:25:44 2018 (-0500)
# Version: 
# Last-Updated: Tue Jul 31 22:30:18 2018 (-0500)
#           By: yulu
#     Update #: 87
# 

import unittest
import pkg_resources
import numpy as np 
from scibeam import TOFSeries, read_file


DATA_FILE = pkg_resources.resource_filename('scibeam', 'data/test/time_series_1D/single_time_series.lvm')


[docs]class TestFunctions(unittest.TestCase):
[docs] def test_read_defaults(self): try: ds = read_file(DATA_FILE) except: self.fail("File read-in failed !") else: self.assertEqual(ds.shape, (25000, )) self.assertTrue(isinstance(ds, TOFSeries))
[docs] def test_read_with_bounds(self): ds = read_file(DATA_FILE, lowerBound = 500e-6, upperBound = 600e-6) try: ds = read_file(DATA_FILE, lowerBound = 500e-6, upperBound = 600e-6) except: self.fail("File read-in failed !") self.assertTrue(abs(ds.index[0] - 500e-6) < 1e-6) self.assertTrue(abs(ds.index[-1] - 600e-6) < 1e-6)
[docs] def test_read_without_offset(self): try: ds = read_file(DATA_FILE, lowerBound = 500e-6, upperBound = 600e-6, removeOffset = False) ds2 = read_file(DATA_FILE, lowerBound = 500e-6, upperBound = 600e-6, removeOffset = True) except: self.fail("File read-in failed !") self.assertTrue(abs(ds - ds2).sum() > 0.01)
[docs]class TestTOFSeries(unittest.TestCase):
[docs] def setUp(self): try: self.series = TOFSeries.from_file(DATA_FILE) except: self.fail("TOFSeries initialize failed !")
[docs] def test_init(self): self.assertTrue(hasattr(self.series, 'head'))
[docs] def test_find_time_idx(self): self.assertEqual(list(self.series.find_time_idx(self.series.index, 1000e-6)), [2500]) self.assertEqual(list(self.series.find_time_idx(self.series.index, 1000e-6, 1100e-6, 1200e-6)), [2500, 2750, 3000]) self.assertEqual(list(self.series.find_time_idx(self.series.index, [1000e-6, 1100e-6, 1200e-6])), [2500, 2750, 3000])
[docs] def test_remove_data_offset(self): sample_data = np.ones(1000) sample_data[450:550] = 10 sample_data_offset_removed1 = TOFSeries.remove_data_offset(sample_data, lowerBoundIdx = 400, upperBoundIdx = 600) sample_data_offset_removed2 = TOFSeries.remove_data_offset(sample_data) self.assertTrue((sample_data_offset_removed1[450:550] == 9).any()) self.assertTrue((sample_data_offset_removed1[:200] == 0).any()) self.assertTrue((sample_data_offset_removed2[450:550] == 9).any()) self.assertTrue((sample_data_offset_removed2[:200] == 0).any())
[docs] def test_selectTimeSlice(self): self.assertEqual(self.series.selectTimeSlice(1000e-6)[0], -0.001125382) self.assertTrue((np.array(self.series.selectTimeSlice(1000e-6, 1100e-6)) - np.array([-0.001125382, 0.002536727]) == 0).all()) self.assertEqual(list(self.series.selectTimeSlice([1000e-6, 1100e-6])), [-0.001125382, 0.002536727])
if __name__ == '__main__': unittest.main()