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
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
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
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()
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