Skip to content
Snippets Groups Projects
Commit 1e830d81 authored by Jorrit Schaap's avatar Jorrit Schaap
Browse files

SW-815: Merge branch 'SW-815' into 'LOFAR-Release-4_0'

Resolve SW-815

See merge request !55
parents 0d25c133 673501dc
No related branches found
No related tags found
2 merge requests!59Merge LOFAR-Release-4_0 into master,!55Resolve SW-815
......@@ -206,4 +206,4 @@ class BlockSize(object):
bestNrBlocks = nrBlocks
bestError = error
return bestBlockSize
return int(round(bestBlockSize))
......@@ -72,8 +72,8 @@ def calculateCobaltSettings(spec):
constraints = BlockConstraints(corr, coherent, incoherent, clock)
calculator = BlockSize(constraints)
return {'nrSubblocks': int(calculator.nrSubblocks), 'blockSize': int(calculator.blockSize),
'nrBlocks': int(calculator.nrBlocks), 'integrationTime': calculator.integrationTime}
return {'nrSubblocks': calculator.nrSubblocks, 'blockSize': calculator.blockSize,
'nrBlocks': calculator.nrBlocks, 'integrationTime': calculator.integrationTime}
def cobaltOTDBsettings(cobalt_values):
otdb_info = {}
......
......@@ -208,7 +208,14 @@ class PreschedulerTest(unittest.TestCase):
def test_CobaltOTDBsettings(self):
otdb_info = cobaltOTDBsettings(self.test_cobalt_settings)
# beware! assertEqual succeeds for a comparison between 42.0 and 42
# but for lofar specs it is essential that some values are int
# so, check specifically for those!
self.assertEqual(otdb_info, self.otdb_info)
self.assertEqual(int, type(otdb_info['LOFAR.ObsSW.Observation.ObservationControl.OnlineControl.Cobalt.Correlator.nrBlocksPerIntegration']))
self.assertEqual(int, type(otdb_info['LOFAR.ObsSW.Observation.ObservationControl.OnlineControl.Cobalt.Correlator.nrIntegrationsPerBlock']))
self.assertEqual(int, type(otdb_info['LOFAR.ObsSW.Observation.ObservationControl.OnlineControl.Cobalt.blockSize']))
@mock.patch('lofar.sas.resourceassignment.common.specification.logger')
def test_onObservationApproved_log_mom_id_found(self, logger_mock):
......@@ -292,7 +299,29 @@ class PreschedulerTest(unittest.TestCase):
spec = Specification(self.otdbrpc_mock, self.momrpc_mock, self.radbrpc_mock)
spec.internal_dict = self.test_specification
cobalt_settings = calculateCobaltSettings(spec)
# beware! assertEqual succeeds for a comparison between 42.0 and 42
# but for lofar specs it is essential that some values are int
# so, check specifically for those!
self.assertEqual(cobalt_settings, self.test_cobalt_settings)
self.assertEqual(int, type(cobalt_settings['blockSize']))
self.assertEqual(int, type(cobalt_settings['nrBlocks']))
self.assertEqual(int, type(cobalt_settings['nrSubblocks']))
def test_calculateCobaltSettingsAndConvertToOTDBsettings(self):
'''combination of test_CobaltOTDBsettings and test_calculateCobaltSettings
Make sure that the values are calculated and converted correctly'''
spec = Specification(self.otdbrpc_mock, self.momrpc_mock, self.radbrpc_mock)
spec.internal_dict = self.test_specification
otdb_info = cobaltOTDBsettings(calculateCobaltSettings(spec))
# beware! assertEqual succeeds for a comparison between 42.0 and 42
# but for lofar specs it is essential that some values are int
# so, check specifically for those!
self.assertEqual(otdb_info, self.otdb_info)
self.assertEqual(int, type(otdb_info['LOFAR.ObsSW.Observation.ObservationControl.OnlineControl.Cobalt.Correlator.nrBlocksPerIntegration']))
self.assertEqual(int, type(otdb_info['LOFAR.ObsSW.Observation.ObservationControl.OnlineControl.Cobalt.Correlator.nrIntegrationsPerBlock']))
self.assertEqual(int, type(otdb_info['LOFAR.ObsSW.Observation.ObservationControl.OnlineControl.Cobalt.blockSize']))
@mock.patch("lofar.common.util.waitForInterrupt")
@mock.patch("lofar.messaging.messagebus.BusListener.start_listening")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment