Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
SOHViewer
Manage
Activity
Members
Labels
Plan
Issues
11
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
3
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Software Public
PASSOFT
SOHViewer
Commits
3f86cf24
Commit
3f86cf24
authored
2 years ago
by
Kien Le
Browse files
Options
Downloads
Patches
Plain Diff
Add tests for readWaveformReftek
parent
f9b61cfb
No related branches found
Branches containing commit
No related tags found
1 merge request
!27
Draft: Add tests for functions in handling_data.py
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
tests/test_model/test_handling_data.py
+105
-2
105 additions, 2 deletions
tests/test_model/test_handling_data.py
with
105 additions
and
2 deletions
tests/test_model/test_handling_data.py
+
105
−
2
View file @
3f86cf24
...
@@ -195,7 +195,7 @@ class TestReadWaveformMSeed(TestCase):
...
@@ -195,7 +195,7 @@ class TestReadWaveformMSeed(TestCase):
self
.
channel_id
=
self
.
mseed_waveform_trace
.
stats
[
'
channel
'
]
self
.
channel_id
=
self
.
mseed_waveform_trace
.
stats
[
'
channel
'
]
# This list is only ever written to, so we can keep it empty
# This list is only ever written to, so we can keep it empty
self
.
traces_info
=
[]
self
.
traces_info
=
[]
self
.
data_time
=
[
12512512
,
12215125121
]
self
.
data_time
=
[
0
,
0
]
self
.
temp_dir
=
tempfile
.
TemporaryDirectory
()
self
.
temp_dir
=
tempfile
.
TemporaryDirectory
()
patcher
=
patch
(
patcher
=
patch
(
...
@@ -271,5 +271,108 @@ class TestReadWaveformMSeed(TestCase):
...
@@ -271,5 +271,108 @@ class TestReadWaveformMSeed(TestCase):
self
.
assertEqual
(
self
.
data_time
,
expected_updated_data_time
)
self
.
assertEqual
(
self
.
data_time
,
expected_updated_data_time
)
# Test that dataTime is updated correctly
class
TestReadWaveformReftek
(
TestCase
):
@classmethod
def
setUpClass
(
cls
)
->
None
:
rt130_dir
=
TEST_DATA_DIR
.
joinpath
(
'
RT130-sample/2017149.92EB/2017150/92EB
'
)
cls
.
rt130_waveform_file
=
rt130_dir
.
joinpath
(
'
1/000000015_0036EE80
'
)
cls
.
rt130_waveform
=
Reftek130
.
from_file
(
cls
.
rt130_waveform_file
)
cls
.
rt130_waveform_stream
=
Reftek130
.
to_stream
(
cls
.
rt130_waveform
)
cls
.
rt130_waveform_trace
=
cls
.
rt130_waveform_stream
[
0
]
def
setUp
(
self
)
->
None
:
# The first element of the key, the unit ID, should be a character
# string. However, the unit ID is stored as a byte string in the data
# stream. While having the unit ID as a byte string should not cause
# any problem with the test, we convert it to a character string anyway
# to be consistent with how readWaveformReftek is called.
self
.
key
=
(
self
.
rt130_waveform_trace
.
stats
[
'
unit_id
'
].
decode
(
'
utf-8
'
),
self
.
rt130_waveform_trace
.
stats
[
'
experiment_number
'
]
)
self
.
read_data
=
{}
self
.
data_time
=
[
0
,
0
]
self
.
temp_dir
=
tempfile
.
TemporaryDirectory
()
patcher
=
patch
(
'
sohstationviewer.model.handling_data.readWaveformTrace
'
)
self
.
addCleanup
(
patcher
.
stop
)
self
.
mock_readWaveformTrace
=
patcher
.
start
()
self
.
mock_readWaveformTrace
.
return_value
=
{
'
startTmEpoch
'
:
0
,
'
endTmEpoch
'
:
0
,
}
def
tearDown
(
self
)
->
None
:
self
.
temp_dir
.
cleanup
()
def
test_all_traces_are_processed
(
self
):
readWaveformReftek
(
self
.
rt130_waveform
,
self
.
key
,
self
.
read_data
,
self
.
data_time
,
self
.
temp_dir
.
name
)
num_traces_read
=
0
for
channel_data
in
self
.
read_data
.
values
():
num_traces_read
+=
len
(
channel_data
[
'
tracesInfo
'
])
self
.
assertTrue
(
num_traces_read
,
len
(
self
.
rt130_waveform_stream
))
def
test_read_data_updated_with_all_channels
(
self
):
readWaveformReftek
(
self
.
rt130_waveform
,
self
.
key
,
self
.
read_data
,
self
.
data_time
,
self
.
temp_dir
.
name
)
self
.
assertTupleEqual
(
tuple
(
self
.
read_data
.
keys
()),
(
'
DS1-1
'
,
'
DS1-2
'
,
'
DS1-3
'
))
def
test_read_data_existing_channel_appended_to
(
self
):
self
.
read_data
=
{
'
DS1-1
'
:
{
'
tracesInfo
'
:
[{
'
startTmEpoch
'
:
0
,
'
endTmEpoch
'
:
0
}],
'
samplerate
'
:
40.0
}
}
readWaveformReftek
(
self
.
rt130_waveform
,
self
.
key
,
self
.
read_data
,
self
.
data_time
,
self
.
temp_dir
.
name
)
self
.
assertEqual
(
len
(
self
.
read_data
[
'
DS1-1
'
][
'
tracesInfo
'
]),
2
)
def
test_readWaveformTrace_called
(
self
):
readWaveformReftek
(
self
.
rt130_waveform
,
self
.
key
,
self
.
read_data
,
self
.
data_time
,
self
.
temp_dir
.
name
)
self
.
assertTrue
(
self
.
mock_readWaveformTrace
.
called
)
def
test_start_data_time_earlier_than_earliest_start_time
(
self
):
self
.
mock_readWaveformTrace
.
return_value
=
{
'
startTmEpoch
'
:
51251
,
'
endTmEpoch
'
:
2623623
,
}
start_time
=
0
self
.
data_time
=
[
start_time
,
1625532949
]
readWaveformReftek
(
self
.
rt130_waveform
,
self
.
key
,
self
.
read_data
,
self
.
data_time
,
self
.
temp_dir
.
name
)
self
.
assertEqual
(
self
.
data_time
[
0
],
start_time
)
def
test_end_data_time_later_than_latest_start_time
(
self
):
# End time set to be the last second of 9999 so as to be later than the
# end time of any test data.
self
.
mock_readWaveformTrace
.
return_value
=
{
'
startTmEpoch
'
:
51251
,
'
endTmEpoch
'
:
2623623
,
}
end_time
=
253402326000
self
.
data_time
=
[
1625443222
,
end_time
]
readWaveformReftek
(
self
.
rt130_waveform
,
self
.
key
,
self
.
read_data
,
self
.
data_time
,
self
.
temp_dir
.
name
)
self
.
assertEqual
(
self
.
data_time
[
1
],
end_time
)
def
test_data_time_is_between_earliest_start_and_latest_end_time
(
self
):
self
.
mock_readWaveformTrace
.
return_value
=
{
'
startTmEpoch
'
:
51251
,
'
endTmEpoch
'
:
2623623
,
}
start_time
=
512579
end_time
=
2623616
self
.
data_time
=
[
start_time
,
end_time
]
expected_updated_data_time
=
[
51251
,
2623623
]
readWaveformReftek
(
self
.
rt130_waveform
,
self
.
key
,
self
.
read_data
,
self
.
data_time
,
self
.
temp_dir
.
name
)
self
.
assertEqual
(
self
.
data_time
,
expected_updated_data_time
)
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment