예제 #1
0
def test_SVBase_amplitude():
  '''
  Amplitude control
  '''
  sv = SVBase("TEST_SV")
  amp = AmplitudeSine(AmplitudeBase.UNITS_POWER, 10, 15, 20)
  sv.setAmplitude(amp)
  assert sv.amplitude == amp
  assert sv.getAmplitude() == amp
예제 #2
0
def test_SVBase_amplitude():
    '''
  Amplitude control
  '''
    sv = SVBase("TEST_SV")
    amp = AmplitudeSine(AmplitudeBase.UNITS_POWER, 10, 15, 20)
    sv.setAmplitude(amp)
    assert sv.amplitude == amp
    assert sv.getAmplitude() == amp
예제 #3
0
def test_SVBase_isBandEnabled():
  '''
  Base SV class: abstract method test 
  '''
  sv = SVBase("TEST_SV")
  try:
    sv.isBandEnabled(NormalRateConfig.GPS.L1, NormalRateConfig)
    assert False
  except NotImplementedError:
    pass
예제 #4
0
def test_SVBase_isBandEnabled():
    '''
  Base SV class: abstract method test 
  '''
    sv = SVBase("TEST_SV")
    try:
        sv.isBandEnabled(NormalRateConfig.GPS.L1, NormalRateConfig)
        assert False
    except NotImplementedError:
        pass
예제 #5
0
def test_SVBase_getBatchSignals():
    '''
  Base SV class: abstract method test 
  '''
    sv = SVBase("TEST_SV")
    userTimeAll_s = numpy.zeros(1)
    samples = numpy.zeros(1)
    noiseParams = NoiseParameters(NormalRateConfig.SAMPLE_RATE_HZ, 1.0)
    try:
        sv.getBatchSignals(userTimeAll_s, samples, NormalRateConfig,
                           noiseParams, NormalRateConfig.GPS.L1, False)
        assert False
    except NotImplementedError:
        pass
예제 #6
0
def test_SVBase_doppler():
  '''
  Doppler control
  '''
  sv = SVBase("TEST_SV")
  doppler = DopplerSine(10000, 55, 10, 15, 20)
  sv.setDoppler(doppler)
  assert sv.doppler == doppler
  assert sv.getDoppler() == doppler
  assert sv.isCodeDopplerIgnored() == doppler.isCodeDopplerIgnored()
  flag = not sv.isCodeDopplerIgnored()
  sv.setCodeDopplerIgnored(flag)
  assert flag == sv.isCodeDopplerIgnored()
예제 #7
0
def test_SVBase_doppler():
    '''
  Doppler control
  '''
    sv = SVBase("TEST_SV")
    doppler = DopplerSine(10000, 55, 10, 15, 20)
    sv.setDoppler(doppler)
    assert sv.doppler == doppler
    assert sv.getDoppler() == doppler
    assert sv.isCodeDopplerIgnored() == doppler.isCodeDopplerIgnored()
    flag = not sv.isCodeDopplerIgnored()
    sv.setCodeDopplerIgnored(flag)
    assert flag == sv.isCodeDopplerIgnored()
예제 #8
0
def test_SVBase_getBatchSignals():
  '''
  Base SV class: abstract method test 
  '''
  sv = SVBase("TEST_SV")
  userTimeAll_s = numpy.zeros(1)
  samples = numpy.zeros(1)
  noiseParams = NoiseParameters(NormalRateConfig.SAMPLE_RATE_HZ, 1.0)
  try:
    sv.getBatchSignals(userTimeAll_s,
                       samples,
                       NormalRateConfig,
                       noiseParams,
                       NormalRateConfig.GPS.L1,
                       False)
    assert False
  except NotImplementedError:
    pass
예제 #9
0
def test_Task_runOnce1():
    '''
  Worker object loop cycle test. This test verifies error handling during
  data generation.
  '''
    class MyQueue(object):
        def __init__(self):
            self.queue = []

        def get(self):
            return self.queue.pop(0)

        def put(self, obj):
            return self.queue.append(obj)

    outputConfig = NormalRateConfig
    # Wrong SV object to ensure the error is encountered
    sv0 = Satellite('1')
    signalSources = [sv0]
    noiseParams = NoiseParameters(outputConfig.SAMPLE_RATE_HZ, 1.)
    tcxo = None
    signalFilters = [None] * 4
    groupDelays = False
    bands = [outputConfig.GPS.L1]
    generateDebug = False

    worker = Worker(outputConfig, signalSources, noiseParams, tcxo,
                    signalFilters, groupDelays, bands, generateDebug)
    # worker.start()
    worker.queueIn = MyQueue()
    worker.queueOut = MyQueue()
    nSamples = 1024
    userTime0_s = 0.
    firstSampleIndex = 1l
    params = (userTime0_s, nSamples, firstSampleIndex)
    worker.queueIn.put(params)
    task = worker.createTask()
    worker.run_once(task)
    result = worker.queueOut.get()
    # result is None because the run_once() catches an error during SV method
    # invocation
    assert result is None