def __init__(self, cs): """ Constructor for operator. Parameters ---------- cs : CaseSettings object Global settings that define the run. Raises ------ OSError If unable to create the FAST_PATH directory. """ self.r = None self.cs = cs runLog.LOG.startLog(self.cs.caseTitle) self.timer = codeTiming.getMasterTimer() self.interfaces = [] self.restartData = [] self.loadedRestartData = [] self._cycleNames = None self._stepLengths = None self._cycleLengths = None self._burnSteps = None self._maxBurnSteps = None self._powerFractions = None self._availabilityFactors = None # Create the welcome headers for the case (case, input, machine, and some basic reactor information) reportingUtils.writeWelcomeHeaders(self, cs) self._initFastPath()
def __init__(self, cs): """ Constructor for operator. Parameters ---------- cs : CaseSettings object Global settings that define the run. Raises ------ OSError If unable to create the FAST_PATH directory. """ self.r = None self.cs = cs self.timer = codeTiming.getMasterTimer() self.interfaces = [] self.restartData = [] self.loadedRestartData = [] self.cycleLengths = self._getCycleLengths() self.availabilityFactors = self._getAvailabilityFactors() self.powerFractions = self._getPowerFractions() self._checkReactorCycleAttrs() # Create the welcome headers for the case (case, input, machine, and some basic reactor information) reportingUtils.writeWelcomeHeaders(self, cs)
def test_messy_starts_and_stops(self): master = codeTiming.getMasterTimer() larger_time_start = master.time() time.sleep(0.01) timer = master.getTimer("sometimerthatihaventmadeyet") time.sleep(0.01) lesser_time_start = master.time() timer.start() # 1st time pair timer.start() # 2nd time pair timer.start() # 3rd time pair timer.stop() self.assertTrue(timer.isActive) timer.stop() timer.stop() self.assertFalse(timer.isActive) timer.stop() timer.stop() timer.start() # 4th time pair self.assertTrue(timer.isActive) lesser_time_end = master.time() time.sleep(0.01) timer.stop() self.assertEqual(len(timer.times), 4) time.sleep(0.01) larger_time_end = master.time() # even with all the starts and stops the total time needs to be between these two values. self.assertGreater(timer.time, lesser_time_end - lesser_time_start) self.assertLess(timer.time, larger_time_end - larger_time_start)
def test_property_access(self): # test property access is okay master = codeTiming.getMasterTimer() timer = master.startTimer("sometimer") _ = timer.times _ = timer.time _ = timer.name _ = timer.isActive
def test_master(self): master = codeTiming.getMasterTimer() _ = master.time master.startAll() actives = master.getActiveTimers() self.assertEqual(list(master.timers.values()), actives) master.stopAll() actives = master.getActiveTimers() self.assertEqual([], actives) with self.assertRaises(RuntimeError): codeTiming.MasterTimer()
def test_alternate_usages(self): master = codeTiming.getMasterTimer() timer = master.startTimer("bananananana") timer.stop() timer.start() timer.start() timer.stop() timer.stop() timer.stop() timer.start() timer2 = master.endTimer("wazzlewazllewazzzle") timer2.start() timer2.start() with timer2: with timer: pass
def __init__(self, cs): """ Constructor for operator. Parameters ---------- cs : CaseSettings object Global settings that define the run. Raises ------ OSError If unable to create the FAST_PATH directory. """ self.r = None self.cs = cs self.timer = codeTiming.getMasterTimer() self.interfaces = [] self.restartData = [] self.loadedRestartData = [] self.cycleLengths = self._getCycleLengths() self.availabilityFactors = self._getAvailabilityFactors() self.powerFractions = self._getPowerFractions() self._checkReactorCycleAttrs()