-
Notifications
You must be signed in to change notification settings - Fork 589
/
test_mavparm.py
60 lines (41 loc) · 1.47 KB
/
test_mavparm.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/usr/bin/env python
"""
Unit tests for the mavparm library
"""
from __future__ import print_function
import unittest
import os
from pymavlink import mavparm
class MAVParmDictTest(unittest.TestCase):
"""
Class to test MAVParmDict
"""
def __init__(self, *args, **kwargs):
"""Constructor, set up some data that is reused in many tests"""
self.parms = mavparm.MAVParmDict()
self.parms['AFS_ACTION'] = 42
self.parms['PARAM1'] = 34.45
self.parms['PARAM2'] = 0
self.parms['PARAM3'] = -13.4
super(MAVParmDictTest, self).__init__(*args, **kwargs)
def test_dict(self):
"""Test simple dict operations"""
self.parms['AFS_ACTION'] = 34
assert self.parms['AFS_ACTION'] == 34
assert self.parms['PARAM1'] == 34.45
def test_saveload(self):
"""Test the saving and loading to file"""
self.parms.save('prms.txt')
assert os.path.isfile('prms.txt')
newparms = mavparm.MAVParmDict()
newparms.load('prms.txt')
os.remove('prms.txt')
assert newparms['AFS_ACTION'] == self.parms['AFS_ACTION']
assert newparms['PARAM3'] == self.parms['PARAM3']
def test_showdiff(self):
"""Test show and diff functions"""
self.parms.save('prms.txt')
self.parms.show()
self.parms.diff('prms.txt')
if __name__ == '__main__':
unittest.main()