test_rinex3.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 import unittest, sys, os
4 sys.path.insert(0, os.path.abspath(".."))
5 from gnsstk.test_utils import args,run_unit_tests
6 import gnsstk
7 
8 
9 class TestRinex3(unittest.TestCase):
10  """Tests for the gnsstk::Rinex3Obs file i/o"""
11 
12  def test_readRinex3Obs(self):
13  """Test reading entire rinex obs file and spot check the data"""
14  header, data = gnsstk.readRinex3Obs( args.input_dir+"/arlm200a.15o", strict=True)
15 
16  # Find the earliest and latest observations
17  # function for how to compare Rinex3ObsData objects for min/max functions:
18  timeFunction = lambda self: self.time
19  earliest = min(data, key=timeFunction)
20  latest = max(data, key=timeFunction)
21 
22  self.assertEqual(
23  gnsstk.CivilTime(2015, 7, 19, 0, 0, 0, gnsstk.TimeSystem(gnsstk.TimeSystem.GPS)),
24  gnsstk.CivilTime(earliest.time))
25 
26  self.assertEqual(
27  gnsstk.CivilTime(2015, 7, 19, 0, 59, 30, gnsstk.TimeSystem(gnsstk.TimeSystem.GPS)),
28  gnsstk.CivilTime(latest.time))
29 
31  """Test reading and writing back out a rinex obs file"""
32 
33  header, data = gnsstk.readRinex3Obs( args.input_dir+"/arlm200a.15o", strict=True)
34  # Now let's write it all back to a different file
35  gnsstk.writeRinex3Obs( args.output_dir+'/swig-arlm200a.15o', header, data)
36  # should really difference the files here
37 
39  """
40  Test that the Fields subclass of Rinex3ObsHeader is wrapped correctly for python.
41  Please contact Andrew Kuck before deleting or modifying this test.
42  """
43 
45  # Check types are implemented correctly.
46  # valid is representative of members with nested class type.
47  self.assertTrue(isinstance(h.valid, gnsstk.Fields))
48  # allValid2 is representative of static const members with nested class type.
49  self.assertTrue(isinstance(h.allValid2, gnsstk.Fields))
50 
51  # Ensure combination with bitwise-or operator
52  fields = h.allValid2 | h.allValid30
53  self.assertIsNotNone(fields)
54 
55  fields = gnsstk.Fields()
56  # Ensure addition with bitwise-or-equal operator
57  fields |= gnsstk.Rinex3ObsHeader.validInterval
58  self.assertTrue(fields.isSet(gnsstk.Rinex3ObsHeader.validInterval))
59 
60  # Ensure addition with set method
61  fields.set(gnsstk.Rinex3ObsHeader.validFirstTime)
62  self.assertTrue(fields.isSet(gnsstk.Rinex3ObsHeader.validFirstTime))
63 
64 if __name__ == '__main__':
tests.test_rinex3.TestRinex3
Definition: test_rinex3.py:9
gnsstk::Rinex3ObsHeader
Definition: Rinex3ObsHeader.hpp:155
gnsstk::max
T max(const SparseMatrix< T > &SM)
Maximum element - return 0 if empty.
Definition: SparseMatrix.hpp:881
tests.test_rinex3.TestRinex3.test_rinex3obs_fields
def test_rinex3obs_fields(self)
Definition: test_rinex3.py:38
gnsstk::min
T min(const SparseMatrix< T > &SM)
Maximum element - return 0 if empty.
Definition: SparseMatrix.hpp:858
gnsstk::TimeSystem
TimeSystem
Definition of various time systems.
Definition: TimeSystem.hpp:51
gnsstk::CivilTime
Definition: CivilTime.hpp:55
tests.test_rinex3.TestRinex3.test_writeRinex3Obs
def test_writeRinex3Obs(self)
Definition: test_rinex3.py:30
tests.test_rinex3.TestRinex3.test_readRinex3Obs
def test_readRinex3Obs(self)
Definition: test_rinex3.py:12
test_utils.run_unit_tests
def run_unit_tests()
Definition: test_utils.py:51


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:41