42 lines
801 B
Python
42 lines
801 B
Python
from skyfield.data import text_pck
|
|
|
|
TEXT = b"""JPL/PCK
|
|
This is ignored.
|
|
\\begindata
|
|
A = 3
|
|
B = (4)
|
|
C = ( 5 'Six' )
|
|
D_+=( 7,8 )
|
|
E = (9 1.0000D1)
|
|
E += (11)
|
|
E += 12
|
|
\\begintext
|
|
This is also ignored.
|
|
E += (13)
|
|
"""
|
|
|
|
def test_loading():
|
|
lines = TEXT.splitlines(True)
|
|
variables = {}
|
|
text_pck.load(lines, variables)
|
|
assert variables == {
|
|
'A': 3,
|
|
'B': 4,
|
|
'C': [5, 'Six'],
|
|
'D_': [7, 8],
|
|
'E': [9, 10.0, 11, 12],
|
|
}
|
|
|
|
def test_parsing():
|
|
lines = TEXT.splitlines(True)
|
|
assignments = list(text_pck.parse(lines))
|
|
assert assignments == [
|
|
('A', b'=', [3]),
|
|
('B', b'=', [4]),
|
|
('C', b'=', [5, 'Six']),
|
|
('D_', b'+=', [7, 8]),
|
|
('E', b'=', [9, 10.0]),
|
|
('E', b'+=', [11]),
|
|
('E', b'+=', [12]),
|
|
]
|