Skip to content
Snippets Groups Projects
Commit 2dfd3db3 authored by Lan Dam's avatar Lan Dam
Browse files

unittest for combine_traces_except_gaps_overlaps

parent 60eefb1c
No related branches found
No related tags found
1 merge request!119separate data at gaps/overlaps
import numpy as np
from unittest import TestCase from unittest import TestCase
from sohstationviewer.model.handling_data import ( from sohstationviewer.model.handling_data import (
sort_data, check_related_gaps, squash_gaps sort_data, check_related_gaps, squash_gaps,
combine_traces_except_gaps_overlaps
) )
...@@ -84,3 +86,60 @@ class TestSquashGaps(TestCase): ...@@ -84,3 +86,60 @@ class TestSquashGaps(TestCase):
def test_mixed_gaps(self): def test_mixed_gaps(self):
gaps = squash_gaps((self.mixed_gaps)) gaps = squash_gaps((self.mixed_gaps))
self.assertEqual(gaps, [[3, 8], [18, 13]]) self.assertEqual(gaps, [[3, 8], [18, 13]])
class TestCombineTracesExceptGapsOverlaps(TestCase):
def test_combine(self):
traces = [
{'samplerate': 1, 'startTmEpoch': 1, 'endTmEpoch': 2, 'size': 2,
'times': np.array([1, 2]), 'data': np.array([0, 0])},
# overlap at the beginning
{'samplerate': 1, 'startTmEpoch': 1, 'endTmEpoch': 3, 'size': 3,
'times': np.array([1, 2, 3]), 'data': np.array([1, 1, 1])},
{'samplerate': 1, 'startTmEpoch': 4, 'endTmEpoch': 6, 'size': 3,
'times': np.array([4, 5, 6]), 'data': np.array([2, 2, 2])},
# gap
{'samplerate': 1, 'startTmEpoch': 8, 'endTmEpoch': 10, 'size': 3,
'times': np.array([8, 9, 10]), 'data': np.array([3, 3, 3])},
{'samplerate': 1, 'startTmEpoch': 11, 'endTmEpoch': 13, 'size': 3,
'times': np.array([11, 12, 13]), 'data': np.array([4, 4, 4])},
# overlap
{'samplerate': 1, 'startTmEpoch': 12, 'endTmEpoch': 14, 'size': 3,
'times': np.array([12, 13, 14]), 'data': np.array([5, 5, 5])}
]
gaps = [[2, 1], [6, 8], [13, 12]]
new_traces = combine_traces_except_gaps_overlaps(traces, gaps)
self.assertEqual(len(new_traces), 4)
# Trace 0
self.assertEqual(new_traces[0]['samplerate'], 1)
self.assertEqual(new_traces[0]['startTmEpoch'], 1)
self.assertEqual(new_traces[0]['endTmEpoch'], 2)
self.assertEqual(new_traces[0]['size'], 2)
self.assertEqual(new_traces[0]['times'].tolist(), [1, 2])
self.assertEqual(new_traces[0]['data'].tolist(), [0, 0])
# Combine traces 1 & 2
self.assertEqual(new_traces[1]['samplerate'], 1)
self.assertEqual(new_traces[1]['startTmEpoch'], 1)
self.assertEqual(new_traces[1]['endTmEpoch'], 6)
self.assertEqual(new_traces[1]['size'], 6)
self.assertEqual(new_traces[1]['times'].tolist(), [1, 2, 3, 4, 5, 6])
self.assertEqual(new_traces[1]['data'].tolist(), [1, 1, 1, 2, 2, 2])
# Combine traces 3 & 4
self.assertEqual(new_traces[2]['samplerate'], 1)
self.assertEqual(new_traces[2]['startTmEpoch'], 8)
self.assertEqual(new_traces[2]['endTmEpoch'], 13)
self.assertEqual(new_traces[2]['size'], 6)
self.assertEqual(new_traces[2]['times'].tolist(),
[8, 9, 10, 11, 12, 13])
self.assertEqual(new_traces[2]['data'].tolist(), [3, 3, 3, 4, 4, 4])
# Trace 5
self.assertEqual(new_traces[3]['samplerate'], 1)
self.assertEqual(new_traces[3]['startTmEpoch'], 12)
self.assertEqual(new_traces[3]['endTmEpoch'], 14)
self.assertEqual(new_traces[3]['size'], 3)
self.assertEqual(new_traces[3]['times'].tolist(), [12, 13, 14])
self.assertEqual(new_traces[3]['data'].tolist(), [5, 5, 5])
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment