# @group Creates a new table in the email
# DASH = Don't Run
# ASTERISK = Expected Failure, don't run and put it in the expected failures table (Run Yellow)

# FastPlot = Plot every nth data point (hardcoded)
# FullPlot = Plot all data points
# FastPlotErrors = Only plot failures and only every nth data point (hardcoded)
# FullPlotErrors = Plot all data points only for failing data
# MemoryFastPlot = Do a fast plot, but manage memory better, slower plotting, but can handle larger files

ReportName=Pulse Unit Test Summary
ExecuteTests=true
PlotResults=true
PercentDifference=2.0
Threads=-1

Executor=com.kitware.pulse.engine.testing.EngineUnitTestDriver
Macro EngineUnitTest=EngineUnitTestDriver FastPlotErrors Baseline=unit_tests/pulse/ Computed=./test_results/unit_tests/pulse/
Macro FullPlotEngineUnitTest=EngineUnitTestDriver FullPlotErrors Baseline=unit_tests/pulse/ Computed=./test_results/unit_tests/pulse/

@group Misc
ReadScenarios = EngineUnitTestDriver NoCompare Computed=./test_results/unit_tests/pulse/
ReuseEngine = EngineUnitTestDriver NoCompare Computed=./test_results/unit_tests/pulse/

@group Cardiovascular
CardiovascularCircuitAndTransport = EngineUnitTest Results=CardiovascularCircuitOutput,CardiovascularTransportOutput
#CardiovascularAndCerebrospinalFluidCircuitAndTransport = EngineUnitTest Results=CardiovascularAndCerebrospinalFluidCircuitOutput,CardiovascularAndCerebrospinalFluidTransportOutput
CardiovascularAndRenalCircuitAndTransport = EngineUnitTest Results=CardiovascularAndRenalCircuitOutput,CardiovascularAndRenalTransportOutput
CardiovascularAndTissueCircuitAndTransport = EngineUnitTest Results=CardiovascularAndTissueCircuitOutput,CardiovascularAndTissueTransportOutput
FullCardiovascularCircuitAndTransport = EngineUnitTest Results=FullCardiovascularCircuitOutput,FullCardiovascularTransportOutput
# Turn on CSF in this test when ready
CardiovascularBloodGases = EngineUnitTest Results=CardiovascularBloodGasesTestCircuitOutput,CardiovascularBloodGasesTestTransportOutput
TuneCardiovascularCircuit = EngineUnitTest NoCompare

@group Renal
RenalCircuitAndTransport = EngineUnitTest Results=RenalCircuitOutput,RenalTransportOutput
RenalTGFFeedback = FullPlotEngineUnitTest Results=RenalTGFFeedbackOutput
RenalTGFandUPRFeedback = FullPlotEngineUnitTest Results=RenalTGFandUPRFeedbackOutput
RenalSecretion = FullPlotEngineUnitTest Results=RenalSecretionOutput
RenalUrinate = EngineUnitTest Results=RenalUrinateOutput

@group Respiratory
RespiratoryCircuitAndTransport = EngineUnitTest Results=RespiratoryCircuitOutput,RespiratoryTransportOutput
RespiratoryDriver = EngineUnitTest Results=RespiratoryDriverOutput

@group AnesthesiaMachine
AnesthesiaMachineCircuitAndTransport = EngineUnitTest Results=AnesthesiaMachineCircuitOutput,AnesthesiaMachineTransportOutput
RespiratoryWithAnesthesiaMachineCircuitAndTransport = EngineUnitTest Results=RespiratoryAndAnesthesiaMachineCircuitOutput,RespiratoryAndAnesthesiaMachineTransportOutput

@group MechanicalVentilator
MechanicalVentilatorCircuitAndTransport = EngineUnitTest Results=MechanicalVentilatorCircuitOutput,MechanicalVentilatorTransportOutput
RespiratoryWithMechanicalVentilatorCircuitAndTransport = EngineUnitTest Results=RespiratoryAndMechanicalVentilatorCircuitOutput,RespiratoryAndMechanicalVentilatorTransportOutput

@group Inhaler
RespiratoryWithInhalerCircuitAndTransport = EngineUnitTest Results=RespiratoryAndInhalerCircuitOutput,RespiratoryAndInhalerTransportOutput,AerosolInhalerTransportOutput

@group MechanicalVentilation
RespiratoryWithMechanicalVentilationCircuitAndTransport = EngineUnitTest Results=RespiratoryAndMechanicalVentilationCircuitOutput,RespiratoryAndMechanicalVentilationTransportOutput,AerosolMechanicalVentilationTransportOutput

@group Environment
InternalTemperatureVariableBMRCircuitTest = EngineUnitTest Results=InternalTemperatureVariableBMRCircuitOutput
InternalTemperatureVariableSkinCircuitTest = EngineUnitTest Results=InternalTemperatureVariableSkinCircuitOutput
InternalTemperatureVariableCoreCircuitTest = EngineUnitTest Results=InternalTemperatureVariableCoreCircuitOutput
EnvironmentVariableTemperatureCircuitTest = EngineUnitTest Results=EnvironmentVariableTemperatureCircuitOutput
CombinedInternalAndEnvironmentVariableBMRandTemperatureCircuitTest = EngineUnitTest Results=CombinedInternalAndEnvironmentVariableBMRandTemperatureCircuitOutput
CombinedInternalAndEnvironmentSkinTempDropCircuitTest = EngineUnitTest Results=CombinedInternalAndEnvironmentSkinTempDropCircuitOutput
EnvironmentISO7730ComparisonTest = EngineUnitTest Results=EnvironmentISO7730Comparison

@group AcidBaseBinding
AcidBaseMath = EngineUnitTest
AcidBaseFeedback = EngineUnitTest
AcidBaseLimits = EngineUnitTest
AcidBaseExtreme = EngineUnitTest
AcidBaseBloodGasTests = EngineUnitTest

@group FourCompartment
FourCompartmentTestSimple = EngineUnitTest Results=FourCompartmentTestSimple
AcidBaseFourCompartmentTest = EngineUnitTest Results=AcidBaseFourCompartmentTest
FiveCompartmentTestWithDiffusion = EngineUnitTest Results=FiveCompartmentTestWithDiffusion
AcidBaseFourCompartmentTestWithProductionConsumption = EngineUnitTest Results=AcidBaseFourCompartmentTestWithProductionConsumption
AcidBaseFiveCompartmentTestWithDiffusion = EngineUnitTest Results=AcidBaseFiveCompartmentTestWithDiffusion
AcidBaseFiveCompartmentTestWithProductionConsumptionAndDiffusion = EngineUnitTest Results=AcidBaseFiveCompartmentTestWithProductionConsumptionAndDiffusion

@group Aerosol
AerosolTest = EngineUnitTest NoCompare Computed=./test_results/unit_tests/pulse/

@group DiffusionClearanceExcretion
AlveolarCarbonDioxideDiffusionTest = EngineUnitTest
AlveolarOxygenDiffusionTest = EngineUnitTest
FacilitatedDiffusionTest = EngineUnitTest
SimpleDiffusionTwoCompartmentTest = EngineUnitTest
SimpleDiffusionFourCompartmentTest = EngineUnitTest
SimpleDiffusionHierarchyTest = EngineUnitTest
InstantPlusSimpleDiffusionTest = EngineUnitTest

@group BlackBox
ImposeFlowBlackBoxTest = EngineUnitTest
#ImposePressureAndFlowBlackBoxTest = EngineUnitTest

