armi.operators.tests.test_operators module
Tests for operators.
- class armi.operators.tests.test_operators.InterfaceA(r, cs)[source]
Bases:
InterfaceConstruct an interface.
The
randcsarguments are required, but may beNone, where appropriate for the specificInterfaceimplementation.- Parameters:
r (Reactor) – A reactor to attach to
cs (Settings) – Settings object to use
- Raises:
RuntimeError – Interfaces derived from Interface must define their name
- function = 'A'
The function performed by an Interface. This is not required be be defined by implementations of Interface, but is used to form categories of interfaces.
- class armi.operators.tests.test_operators.InterfaceB(r, cs)[source]
Bases:
InterfaceADummy Interface that extends A.
Construct an interface.
The
randcsarguments are required, but may beNone, where appropriate for the specificInterfaceimplementation.- Parameters:
r (Reactor) – A reactor to attach to
cs (Settings) – Settings object to use
- Raises:
RuntimeError – Interfaces derived from Interface must define their name
- function = 'A'
The function performed by an Interface. This is not required be be defined by implementations of Interface, but is used to form categories of interfaces.
- class armi.operators.tests.test_operators.InterfaceC(r, cs)[source]
Bases:
InterfaceConstruct an interface.
The
randcsarguments are required, but may beNone, where appropriate for the specificInterfaceimplementation.- Parameters:
r (Reactor) – A reactor to attach to
cs (Settings) – Settings object to use
- Raises:
RuntimeError – Interfaces derived from Interface must define their name
- function = 'A'
The function performed by an Interface. This is not required be be defined by implementations of Interface, but is used to form categories of interfaces.
- class armi.operators.tests.test_operators.OperatorTests(methodName='runTest')[source]
Bases:
TestCaseCreate an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.
- test_orderedInterfaces(interactAll)[source]
Test the default interfaces are in an ordered list, looped over at each time step.
- test_getActiveInterfaces()[source]
Ensure that the right interfaces are returned for a given interaction state.
- class armi.operators.tests.test_operators.TestCreateOperator(methodName='runTest')[source]
Bases:
TestCaseCreate an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.
- class armi.operators.tests.test_operators.TestTightCoupling(methodName='runTest')[source]
Bases:
TestCaseCreate an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.
- test_getStepLengths()[source]
Test the step lengths are correctly calculated, based on settings.
Test Case: Users can control time discretization of the simulation through settings. T_ARMI_FW_HISTORY0
- test_performTightCoupling_Inactive()[source]
Ensures no action by
_performTightCouplingifcs[CONF_TIGHT_COUPLING] = false.
- test_performTightCoupling_skip()[source]
Ensure that cycles within
cs[CONF_CYCLES_SKIP_TIGHT_COUPLING_INTERACTION]are skipped.
- test_performTightCoupling_notConverged()[source]
Ensure that the appropriate
runLog.warningis addressed in tight coupling reaches max num of iters.
- test_performTightCoupling_WriteDB()[source]
Ensure a tight coupling iteration accours and that a DB WILL be written if requested.
- class armi.operators.tests.test_operators.CyclesSettingsTests(methodName='runTest')[source]
Bases:
TestCaseCheck that we can correctly access the various cycle settings from the operator.
Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.
- detailedCyclesSettings = '\nmetadata:\n version: uncontrolled\nsettings:\n power: 1000000000.0\n nCycles: 3\n cycles:\n - name: startup sequence\n cumulative days: [1, 2, 3]\n power fractions: [0.1, 0.2, 0.3]\n availability factor: 0.1\n - cycle length: 10\n burn steps: 5\n power fractions: [0.2, 0.2, 0.2, 0.2, 0]\n availability factor: 0.5\n - name: prepare for shutdown\n step days: [3, R4]\n power fractions: [0.3, R4]\n runType: Standard\n'
- test_getPowerFractions()[source]
Test that the power fractions are calculated correctly.
Test Case: Test the powerFractions are retrieved correctly for multiple cycles. T_ARMI_SETTINGS_POWER1
- test_getAvailabilityFactors()[source]
Check that the “availability factor” is correctly set from the “cycles” setting.
- test_getCycleLengths()[source]
Check that the “cycle length” is correctly set from the “cycles” setting.
- class armi.operators.tests.test_operators.TestInterfaceAndEventHeaders(methodName='runTest')[source]
Bases:
TestCaseCreate an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.
- class armi.operators.tests.test_operators.OperatorRestartTests(methodName='runTest')[source]
Bases:
TestCaseTests on the behavior of the interactAllRestart hook.
Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.
- test_nominalRestart()[source]
Make sure the database interface is uniquely called and the interactRestart is not called for DB.
We need to make sure the database interface loads the reactor before every other interface goes first. But then, when all the interfaces get their chance to
interactRestart, the database interface does not. Since it did it’s work already.
- patchCS(**kwargs)[source]
Patch the case settings, restoring at the end of the context block.
Kwargs are key: value pairs for settings to be modified.
Can’t use
patch.dictbecause case settings don’t have at least a.copymethod thatpatch.dictexpects.