18Test code for lineFileParser.py
25 from pathlib
import Path
26except ImportError
as exc:
29 warnings.warn(
str(exc))
33from numpy.testing
import assert_allclose
43 "left_side": np.array(
61 "right_side": np.array(
85 "left_side": np.array([10.0, 10.2, 10.4]),
86 "right_side": np.array([10.2, 10.4, 10.6]),
92 filename =
"IdentifiedLines.csv"
94 "# git repo: <url-to-repo>\n# git tag: <tag>\n# git hash: <hash>\n"
95 "Frequency or frequency spacing [Hz],Type (0:line; 1:comb; 2:comb with scaling width),"
96 "Frequency offset [Hz],First visible harmonic, Last visible harmonic, "
97 "Left width [Hz], Right width [Hz], Comments\n"
98 "16.0,0,0,1,1,0.05,0.05,Calibration line\n"
99 "1.0,1,0,1,5,0.05,0.05,Comb\n"
100 "10.0,2,0,1,5,0.05,0.05,Scaling Comb\n"
101 "100.0,1,10,1,3,1.0,1.0,Comb with offset\n"
103 with tempfile.TemporaryDirectory()
as tmpdir:
104 filepath = Path(tmpdir) / filename
105 filepath.write_text(line_data)
111 filename =
"UnidentifiedLines.csv"
113 "# git repo: <url-to-repo>\n# git tag: <tag>\n# git hash: <hash>\n"
114 "Frequency [Hz], Comments\n"
115 "10.1,Unidentified line\n"
116 "10.3,Unidentified line\n"
117 "10.5,Unidentified line\n"
119 with tempfile.TemporaryDirectory()
as tmpdir:
120 filepath = Path(tmpdir) / filename
121 filepath.write_text(line_data)
140 return {
"frequency": 0}
144 identified_lines, identified_lines_file, identified_lines_header
147 Test that identified line files are properly read and expanded
148 by comparing left, right limits to the expected values.
151 for columns
in [identified_lines_header,
None]:
153 line_parser.parse_identified_lines_csv(
154 lines_file=identified_lines_file,
156 genfromtxt_kwargs={
"delimiter":
",",
"skip_header": 4},
159 assert_allclose(identified_lines[
"left_side"], line_parser.lines_left_side)
160 assert_allclose(identified_lines[
"right_side"], line_parser.lines_right_side)
164 unidentified_lines, unidentified_lines_file, unidentified_lines_header
167 Test that unidentified line files are properly read and expanded
168 by comparing left, right limits to the expected values.
171 for columns
in [unidentified_lines_header,
None]:
173 line_parser.parse_unidentified_lines_csv(
174 lines_file=unidentified_lines_file,
177 genfromtxt_kwargs={
"delimiter":
",",
"skip_header": 4},
180 assert_allclose(unidentified_lines[
"left_side"], line_parser.lines_left_side)
181 assert_allclose(unidentified_lines[
"right_side"], line_parser.lines_right_side)
186 identified_lines_file,
187 identified_lines_header,
189 unidentified_lines_file,
190 unidentified_lines_header,
193 Test that files are properly read and concatenated.
197 line_parser.parse_identified_lines_csv(
198 lines_file=identified_lines_file,
199 columns=identified_lines_header,
200 genfromtxt_kwargs={"delimiter":
",",
"skip_header": 4},
202 line_parser.parse_unidentified_lines_csv(
203 lines_file=unidentified_lines_file,
204 columns=unidentified_lines_header,
206 genfromtxt_kwargs={
"delimiter":
",",
"skip_header": 4},
210 np.hstack([identified_lines[
"left_side"], unidentified_lines[
"left_side"]]),
211 line_parser.lines_left_side,
214 np.hstack([identified_lines[
"right_side"], unidentified_lines[
"right_side"]]),
215 line_parser.lines_right_side,
219if __name__ ==
"__main__":
220 args = sys.argv[1:]
or [
"-v",
"-rs"]
221 sys.exit(pytest.main(args=[__file__] + args))
def identified_lines_header()
def unidentified_lines_header()
def identified_lines_file()
def test_concatenation(identified_lines, identified_lines_file, identified_lines_header, unidentified_lines, unidentified_lines_file, unidentified_lines_header)
Test that files are properly read and concatenated.
def test_unidentified_lines_parsing(unidentified_lines, unidentified_lines_file, unidentified_lines_header)
Test that unidentified line files are properly read and expanded by comparing left,...
def unidentified_lines_file()
def test_identified_lines_parsing(identified_lines, identified_lines_file, identified_lines_header)
Test that identified line files are properly read and expanded by comparing left, right limits to the...