Newer
Older
"""
Identifier: tests/test_fits_header_ops.py
Name: test_fits_header_ops.py
Description: test append_header
Author: Bo Zhang
Created: 2023-12-15
Modified-History:
2023-12-15, Bo Zhang, add TestFitsHeaderOps.test_append_header
2023-12-15, Bo Zhang, add TestFitsHeaderOps.test_reformat_header
from csst_common.io import append_header, reformat_header, delete_section
def test_append_header(self):
h1 = fits.Header()
h2 = fits.Header()
h1.set("A", 1, "comment")
h1.set("B", 1, "comment")
h1.set("C", 1, "comment")
h1.add_comment("=" * 72, before="A")
h1.add_comment("one", before="A")
h1.add_comment("=" * 72, before="A")
h2.set("B", 2, "comment")
h2.set("C", 2, "comment")
h2.set("D", 2, "comment")
h2.add_comment("=" * 72, before="B")
h2.add_comment("another", before="B")
h2.add_comment("=" * 72, before="B")
h_update = append_header(h1, h2, duplicates="update")
(
"COMMENT",
"COMMENT",
"COMMENT",
"A",
"B",
"COMMENT",
"COMMENT",
"COMMENT",
),
"update mode failed",
)
self.assertEqual(h_update["A"], 1)
self.assertEqual(h_update["B"], 2)
self.assertEqual(h_update["C"], 2)
self.assertEqual(h_update["D"], 2)
h_delete = append_header(h1, h2, duplicates="delete")
(
"COMMENT",
"COMMENT",
"COMMENT",
"A",
"COMMENT",
"COMMENT",
"COMMENT",
"B",
"C",
),
"delete mode failed",
)
self.assertEqual(h_delete["A"], 1)
self.assertEqual(h_delete["B"], 2)
self.assertEqual(h_delete["C"], 2)
self.assertEqual(h_delete["D"], 2)
def test_reformat_header(self):
h = fits.Header()
h.add_comment("A")
h.add_comment("B")
h.add_comment("B")
h.add_comment("C")
h.add_comment("X")
h.set("A", 1)
h.set("SIMPLE", True)
h.set("NAXIS1", 1)
h_rfmt = reformat_header(h, strip=True, comment="WCS info")
self.assertEqual(
tuple(h_rfmt.keys()),
("COMMENT", "COMMENT", "COMMENT", "A", "NAXIS1"),
)
h_rfmt = reformat_header(h, strip=False, comment="WCS info")
self.assertEqual(
tuple(h_rfmt.keys()),
("COMMENT", "COMMENT", "COMMENT", "A", "SIMPLE", "NAXIS1"),
)
h.append(("COMMENT", "A", ""), bottom=True)
h.append(("COMMENT", "C", ""), bottom=True)
h.append(("COMMENT", "B", ""), bottom=True)
h.append(("SIMPLE", True, ""), bottom=True)
h.append(("NAXIS1", 1, ""), bottom=True)
h.append(("COMMENT", "=" * 72, ""), bottom=True)
h.append(("COMMENT", "WCS", ""), bottom=True)
h.append(("COMMENT", "=" * 72, ""), bottom=True)
h.append(("A", 1, ""), bottom=True)
h.append(("COMMENT", "=" * 72, ""), bottom=True)
h.append(("COMMENT", "=" * 72, ""), bottom=True)
h_del = delete_section(h, title="WCS")
self.assertEqual(len(h_del.cards), 7)