Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
P
PyFstat
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
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
Gregory Ashton
PyFstat
Commits
dbdd76b0
Commit
dbdd76b0
authored
7 years ago
by
Gregory Ashton
Browse files
Options
Downloads
Patches
Plain Diff
Various improvements to the test coverage
parent
cb7b5658
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
tests.py
+90
-13
90 additions, 13 deletions
tests.py
with
90 additions
and
13 deletions
tests.py
+
90
−
13
View file @
dbdd76b0
...
@@ -3,6 +3,7 @@ import numpy as np
...
@@ -3,6 +3,7 @@ import numpy as np
import
os
import
os
import
shutil
import
shutil
import
pyfstat
import
pyfstat
import
lalpulsar
class
Test
(
unittest
.
TestCase
):
class
Test
(
unittest
.
TestCase
):
...
@@ -25,14 +26,16 @@ class TestWriter(Test):
...
@@ -25,14 +26,16 @@ class TestWriter(Test):
def
test_make_cff
(
self
):
def
test_make_cff
(
self
):
Writer
=
pyfstat
.
Writer
(
self
.
label
,
outdir
=
self
.
outdir
)
Writer
=
pyfstat
.
Writer
(
self
.
label
,
outdir
=
self
.
outdir
)
Writer
.
make_cff
()
Writer
.
make_cff
()
self
.
assertTrue
(
os
.
path
.
isfile
(
'
./TestData/{}.cff
'
.
format
(
self
.
label
)))
self
.
assertTrue
(
os
.
path
.
isfile
(
'
./{}/{}.cff
'
.
format
(
self
.
outdir
,
self
.
label
)))
def
test_run_makefakedata
(
self
):
def
test_run_makefakedata
(
self
):
Writer
=
pyfstat
.
Writer
(
self
.
label
,
outdir
=
self
.
outdir
,
duration
=
86400
)
Writer
=
pyfstat
.
Writer
(
self
.
label
,
outdir
=
self
.
outdir
,
duration
=
86400
)
Writer
.
make_cff
()
Writer
.
make_cff
()
Writer
.
run_makefakedata
()
Writer
.
run_makefakedata
()
self
.
assertTrue
(
os
.
path
.
isfile
(
self
.
assertTrue
(
os
.
path
.
isfile
(
'
./TestData/H-48_H1_1800SFT_TestWriter-700000000-86400.sft
'
))
'
./{}/H-48_H1_1800SFT_TestWriter-700000000-86400.sft
'
.
format
(
self
.
outdir
)))
def
test_makefakedata_usecached
(
self
):
def
test_makefakedata_usecached
(
self
):
Writer
=
pyfstat
.
Writer
(
self
.
label
,
outdir
=
self
.
outdir
,
duration
=
86400
)
Writer
=
pyfstat
.
Writer
(
self
.
label
,
outdir
=
self
.
outdir
,
duration
=
86400
)
...
@@ -56,7 +59,7 @@ class TestBunch(Test):
...
@@ -56,7 +59,7 @@ class TestBunch(Test):
self
.
assertTrue
(
b
.
x
==
10
)
self
.
assertTrue
(
b
.
x
==
10
)
class
Test
P
ar
(
Test
):
class
Test
_p
ar
(
Test
):
label
=
'
TestPar
'
label
=
'
TestPar
'
def
test
(
self
):
def
test
(
self
):
...
@@ -73,7 +76,7 @@ class TestPar(Test):
...
@@ -73,7 +76,7 @@ class TestPar(Test):
return_type
=
'
dict
'
)
return_type
=
'
dict
'
)
self
.
assertTrue
(
par
[
'
x
'
]
==
100
)
self
.
assertTrue
(
par
[
'
x
'
]
==
100
)
self
.
assertTrue
(
par
[
'
y
'
]
==
10
)
self
.
assertTrue
(
par
[
'
y
'
]
==
10
)
os
.
system
(
'
rm -r
TestData
'
)
os
.
system
(
'
rm -r
{}
'
.
format
(
self
.
outdir
)
)
class
TestBaseSearchClass
(
Test
):
class
TestBaseSearchClass
(
Test
):
...
@@ -120,17 +123,25 @@ class TestComputeFstat(Test):
...
@@ -120,17 +123,25 @@ class TestComputeFstat(Test):
def
test_run_computefstatistic_single_point
(
self
):
def
test_run_computefstatistic_single_point
(
self
):
Writer
=
pyfstat
.
Writer
(
self
.
label
,
outdir
=
self
.
outdir
,
duration
=
86400
,
Writer
=
pyfstat
.
Writer
(
self
.
label
,
outdir
=
self
.
outdir
,
duration
=
86400
,
h0
=
1
,
sqrtSX
=
1
)
h0
=
1
,
sqrtSX
=
1
,
detectors
=
'
H1,L1
'
)
Writer
.
make_data
()
Writer
.
make_data
()
predicted_FS
=
Writer
.
predict_fstat
()
predicted_FS
=
Writer
.
predict_fstat
()
search
=
pyfstat
.
ComputeFstat
(
search_H1
=
pyfstat
.
ComputeFstat
(
tref
=
Writer
.
tref
,
tref
=
Writer
.
tref
,
detectors
=
'
H1
'
,
sftfilepattern
=
'
{}/*{}*sft
'
.
format
(
Writer
.
outdir
,
Writer
.
label
),
SSBprec
=
lalpulsar
.
SSBPREC_RELATIVISTIC
)
FS
=
search_H1
.
get_fullycoherent_twoF
(
Writer
.
tstart
,
Writer
.
tend
,
Writer
.
F0
,
Writer
.
F1
,
Writer
.
F2
,
Writer
.
Alpha
,
Writer
.
Delta
)
self
.
assertTrue
(
np
.
abs
(
predicted_FS
-
FS
)
/
FS
<
0.2
)
search_H1L1
=
pyfstat
.
ComputeFstat
(
tref
=
Writer
.
tref
,
detectors
=
'
H1,L1
'
,
sftfilepattern
=
'
{}/*{}*sft
'
.
format
(
Writer
.
outdir
,
Writer
.
label
))
sftfilepattern
=
'
{}/*{}*sft
'
.
format
(
Writer
.
outdir
,
Writer
.
label
))
FS
=
search
.
get_fullycoherent_twoF
(
FS
=
search
_H1L1
.
get_fullycoherent_twoF
(
Writer
.
tstart
,
Writer
.
tend
,
Writer
.
F0
,
Writer
.
F1
,
Writer
.
F2
,
Writer
.
tstart
,
Writer
.
tend
,
Writer
.
F0
,
Writer
.
F1
,
Writer
.
F2
,
Writer
.
Alpha
,
Writer
.
Delta
)
Writer
.
Alpha
,
Writer
.
Delta
)
print
predicted_FS
,
FS
self
.
assertTrue
(
np
.
abs
(
predicted_FS
-
FS
)
/
FS
<
0.2
)
self
.
assertTrue
(
np
.
abs
(
predicted_FS
-
FS
)
/
FS
<
0.2
)
def
run_computefstatistic_single_point_no_noise
(
self
):
def
run_computefstatistic_single_point_no_noise
(
self
):
...
@@ -148,7 +159,7 @@ class TestComputeFstat(Test):
...
@@ -148,7 +159,7 @@ class TestComputeFstat(Test):
print
predicted_FS
,
FS
print
predicted_FS
,
FS
self
.
assertTrue
(
np
.
abs
(
predicted_FS
-
FS
)
/
FS
<
0.2
)
self
.
assertTrue
(
np
.
abs
(
predicted_FS
-
FS
)
/
FS
<
0.2
)
def
test_injectSources
_from_file
(
self
):
def
test_injectSources
(
self
):
Writer
=
pyfstat
.
Writer
(
self
.
label
,
outdir
=
self
.
outdir
,
add_noise
=
False
,
Writer
=
pyfstat
.
Writer
(
self
.
label
,
outdir
=
self
.
outdir
,
add_noise
=
False
,
duration
=
86400
,
h0
=
1
,
sqrtSX
=
1
)
duration
=
86400
,
h0
=
1
,
sqrtSX
=
1
)
Writer
.
make_cff
()
Writer
.
make_cff
()
...
@@ -159,13 +170,79 @@ class TestComputeFstat(Test):
...
@@ -159,13 +170,79 @@ class TestComputeFstat(Test):
minCoverFreq
=
28
,
maxCoverFreq
=
32
,
minStartTime
=
Writer
.
tstart
,
minCoverFreq
=
28
,
maxCoverFreq
=
32
,
minStartTime
=
Writer
.
tstart
,
maxStartTime
=
Writer
.
tstart
+
Writer
.
duration
,
maxStartTime
=
Writer
.
tstart
+
Writer
.
duration
,
detectors
=
Writer
.
detectors
)
detectors
=
Writer
.
detectors
)
FS
=
search
.
get_fullycoherent_twoF
(
FS
_from_file
=
search
.
get_fullycoherent_twoF
(
Writer
.
tstart
,
Writer
.
tend
,
Writer
.
F0
,
Writer
.
F1
,
Writer
.
F2
,
Writer
.
tstart
,
Writer
.
tend
,
Writer
.
F0
,
Writer
.
F1
,
Writer
.
F2
,
Writer
.
Alpha
,
Writer
.
Delta
)
Writer
.
Alpha
,
Writer
.
Delta
)
Writer
.
make_data
()
Writer
.
make_data
()
predicted_FS
=
Writer
.
predict_fstat
()
predicted_FS
=
Writer
.
predict_fstat
()
print
predicted_FS
,
FS
self
.
assertTrue
(
np
.
abs
(
predicted_FS
-
FS_from_file
)
/
FS_from_file
<
0.2
)
self
.
assertTrue
(
np
.
abs
(
predicted_FS
-
FS
)
/
FS
<
0.2
)
injectSourcesdict
=
pyfstat
.
core
.
read_par
(
Writer
.
config_file_name
)
injectSourcesdict
[
'
F0
'
]
=
injectSourcesdict
[
'
Freq
'
]
injectSourcesdict
[
'
F1
'
]
=
injectSourcesdict
[
'
f1dot
'
]
injectSourcesdict
[
'
F2
'
]
=
injectSourcesdict
[
'
f2dot
'
]
search
=
pyfstat
.
ComputeFstat
(
tref
=
Writer
.
tref
,
assumeSqrtSX
=
1
,
injectSources
=
injectSourcesdict
,
minCoverFreq
=
28
,
maxCoverFreq
=
32
,
minStartTime
=
Writer
.
tstart
,
maxStartTime
=
Writer
.
tstart
+
Writer
.
duration
,
detectors
=
Writer
.
detectors
)
FS_from_dict
=
search
.
get_fullycoherent_twoF
(
Writer
.
tstart
,
Writer
.
tend
,
Writer
.
F0
,
Writer
.
F1
,
Writer
.
F2
,
Writer
.
Alpha
,
Writer
.
Delta
)
self
.
assertTrue
(
FS_from_dict
==
FS_from_file
)
class
TestSemiCoherentSearch
(
Test
):
label
=
"
TestSemiCoherentSearch
"
def
test_get_semicoherent_twoF
(
self
):
duration
=
10
*
86400
Writer
=
pyfstat
.
Writer
(
self
.
label
,
outdir
=
self
.
outdir
,
duration
=
duration
,
h0
=
1
,
sqrtSX
=
1
)
Writer
.
make_data
()
search
=
pyfstat
.
SemiCoherentSearch
(
label
=
self
.
label
,
outdir
=
self
.
outdir
,
nsegs
=
2
,
sftfilepattern
=
'
{}/*{}*sft
'
.
format
(
Writer
.
outdir
,
Writer
.
label
),
tref
=
Writer
.
tref
,
minStartTime
=
Writer
.
tstart
,
maxStartTime
=
Writer
.
tend
)
search
.
get_semicoherent_twoF
(
Writer
.
F0
,
Writer
.
F1
,
Writer
.
F2
,
Writer
.
Alpha
,
Writer
.
Delta
,
record_segments
=
True
)
# Compute the predicted semi-coherent Fstat
minStartTime
=
Writer
.
tstart
maxStartTime
=
Writer
.
tend
Writer
.
maxStartTime
=
minStartTime
+
duration
/
2.0
FSA
=
Writer
.
predict_fstat
()
Writer
.
tstart
=
minStartTime
+
duration
/
2.0
Writer
.
tend
=
maxStartTime
FSB
=
Writer
.
predict_fstat
()
FSs
=
np
.
array
([
FSA
,
FSB
])
diffs
=
(
np
.
array
(
search
.
detStat_per_segment
)
-
FSs
)
/
FSs
self
.
assertTrue
(
np
.
all
(
diffs
<
0.3
))
def
test_get_semicoherent_BSGL
(
self
):
duration
=
10
*
86400
Writer
=
pyfstat
.
Writer
(
self
.
label
,
outdir
=
self
.
outdir
,
duration
=
duration
,
detectors
=
'
H1,L1
'
)
Writer
.
make_data
()
search
=
pyfstat
.
SemiCoherentSearch
(
label
=
self
.
label
,
outdir
=
self
.
outdir
,
nsegs
=
2
,
sftfilepattern
=
'
{}/*{}*sft
'
.
format
(
Writer
.
outdir
,
Writer
.
label
),
tref
=
Writer
.
tref
,
minStartTime
=
Writer
.
tstart
,
maxStartTime
=
Writer
.
tend
,
BSGL
=
True
)
BSGL
=
search
.
get_semicoherent_twoF
(
Writer
.
F0
,
Writer
.
F1
,
Writer
.
F2
,
Writer
.
Alpha
,
Writer
.
Delta
,
record_segments
=
True
)
self
.
assertTrue
(
BSGL
>
0
)
class
TestSemiCoherentGlitchSearch
(
Test
):
class
TestSemiCoherentGlitchSearch
(
Test
):
...
...
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