test_fits.py 1.28 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
"""
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
"""

import os
import unittest

15
import numpy as np
16
17
18
19
20
21
22
23
24
25
from csst_common import fits

test_fits_file = os.path.join(
    os.environ["UNIT_TEST_DATA_ROOT"],
    "csst_common/test_fits/hl.fits",
)


class TestFitsHeaderOps(unittest.TestCase):

26
27
28
29
30
31
32
    def setUp(self):
        hl = fits.HDUList(
            [
                fits.PrimaryHDU(),
                fits.ImageHDU(data=np.random.randn(5, 5)),
            ]
        )
33
        hl.writeto(test_fits_file, overwrite=True)
34

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
    def test_fits_open(self):
        hl = fits.open(test_fits_file)
        self.assertIsInstance(hl, fits.HDUList)

    def test_fits_header(self):
        header = fits.getheader(test_fits_file, ext=0)
        self.assertIsInstance(header, fits.Header)

    def test_fits_getval(self):
        val = fits.getval(test_fits_file, ext=0, keyword="SIMPLE")
        self.assertEqual(val, True)

    def test_fits_getdata(self):
        data = fits.getdata(test_fits_file, ext=0)
        self.assertEqual(data, None)