11import os
2+ import copy
23import unittest
34
45import adif_file .adx
@@ -19,21 +20,49 @@ def test_10_dump_exceptions(self):
1920
2021 self .assertRaises (adif_file .adx .MissingRecordsException , adif_file .adx .dump , '' , {})
2122
22- adx_dict2 = adx_dict . copy ( )
23+ adx_dict2 = copy . deepcopy ( adx_dict )
2324 adx_dict2 ['RECORDS' ][0 ]['MY_QTH' ] = 'Test' # MY_QTH is not allowed (MY_CITY)
2425 self .assertRaises (adif_file .adx .UndefinedElementException , adif_file .adx .dump , '' , adx_dict2 )
2526
26- adx_dict2 = adx_dict . copy ( )
27- adx_dict2 ['RECORDS' ][0 ]['MY_CITY ' ] = 123
27+ adx_dict2 = copy . deepcopy ( adx_dict )
28+ adx_dict2 ['RECORDS' ][0 ]['QTH ' ] = 'Töst' # QTH only allows ASCII chars < 127
2829 self .assertRaises (adif_file .adx .MalformedValueException , adif_file .adx .dump , '' , adx_dict2 )
2930
30- adx_dict2 = adx_dict . copy ( )
31- adx_dict2 ['RECORDS' ][0 ]['QTH ' ] = 'Töst' # QTH ony alows ASCII chars < 127
31+ adx_dict2 = copy . deepcopy ( adx_dict )
32+ adx_dict2 ['RECORDS' ][0 ]['FREQ ' ] = 'Test'
3233 self .assertRaises (adif_file .adx .MalformedValueException , adif_file .adx .dump , '' , adx_dict2 )
3334
34- adx_dict2 = adx_dict .copy ()
35+ def test_15_dump_retexc (self ):
36+ adx_dict = {
37+ 'RECORDS' : [{'CALL' : 'XX1XXX' ,
38+ 'QSO_DATE' : '20231204' ,
39+ 'TIME_ON' : '1100' ,
40+ 'QTH' : 'Test' }]
41+ }
42+
43+ # Still raises non validation exceptions?
44+ self .assertRaises (adif_file .adx .MissingRecordsException , adif_file .adx .dump , '' , {}, raise_exc = False )
45+
46+ temp_file = get_file_path ('testdata/~test.adx' )
47+
48+ self .assertListEqual ([], adif_file .adx .dump (temp_file , adx_dict , raise_exc = False ))
49+
50+ adx_dict2 = copy .deepcopy (adx_dict )
51+ adx_dict2 ['RECORDS' ][0 ]['MY_QTH' ] = 'Test' # MY_QTH is not allowed (MY_CITY)
52+ self .assertEqual (adif_file .adx .UndefinedElementException ,
53+ type (adif_file .adx .dump (temp_file , adx_dict2 , raise_exc = False )[0 ]))
54+
55+ adx_dict2 = copy .deepcopy (adx_dict )
56+ adx_dict2 ['RECORDS' ][0 ]['QTH' ] = 'Töst' # QTH only allows ASCII chars < 127
57+ self .assertEqual (adif_file .adx .MalformedValueException ,
58+ type (adif_file .adx .dump (temp_file , adx_dict2 , raise_exc = False )[0 ]))
59+
60+ adx_dict2 = copy .deepcopy (adx_dict )
3561 adx_dict2 ['RECORDS' ][0 ]['FREQ' ] = 'Test'
36- self .assertRaises (adif_file .adx .MalformedValueException , adif_file .adx .dump , '' , adx_dict2 )
62+ self .assertEqual (adif_file .adx .MalformedValueException ,
63+ type (adif_file .adx .dump (temp_file , adx_dict2 , raise_exc = False )[0 ]))
64+
65+ os .remove (temp_file )
3766
3867 def test_20_dump (self ):
3968 adx_dict = {
0 commit comments