New REST+OpenAPI interface
This commit is contained in:
@@ -27,6 +27,7 @@ TEST_CASE("JFJochStateMachine_States") {
|
||||
REQUIRE_THROWS(state_machine.Pedestal());
|
||||
|
||||
REQUIRE_NOTHROW(state_machine.Initialize());
|
||||
REQUIRE_NOTHROW(state_machine.WaitTillMeasurementDone());
|
||||
REQUIRE_NOTHROW(state = state_machine.GetState());
|
||||
REQUIRE(state == JFJochState::Idle);
|
||||
|
||||
@@ -58,11 +59,12 @@ TEST_CASE("JFJochStateMachine_State_Pedestal") {
|
||||
REQUIRE_THROWS(state_machine.Start(setup));
|
||||
REQUIRE_THROWS(state_machine.Pedestal());
|
||||
REQUIRE_THROWS(state_machine.Initialize());
|
||||
REQUIRE(state_machine.WaitTillMeasurementDone(std::chrono::milliseconds(1)) == JFJochState::Pedestal);
|
||||
|
||||
DetectorSettings settings{};
|
||||
settings.frame_time_us = 500;
|
||||
settings.storage_cell_count = 16;
|
||||
REQUIRE_THROWS(state_machine.SetDetectorSettings(settings));
|
||||
REQUIRE_THROWS(state_machine.LoadDetectorSettings(settings));
|
||||
}
|
||||
|
||||
TEST_CASE("JFJochStateMachine_State_Measure") {
|
||||
@@ -88,11 +90,12 @@ TEST_CASE("JFJochStateMachine_State_Measure") {
|
||||
REQUIRE_THROWS(state_machine.Start(setup));
|
||||
REQUIRE_THROWS(state_machine.Pedestal());
|
||||
REQUIRE_THROWS(state_machine.Initialize());
|
||||
REQUIRE(state_machine.WaitTillMeasurementDone(std::chrono::milliseconds(1)) == JFJochState::Measuring);
|
||||
|
||||
DetectorSettings settings{};
|
||||
settings.frame_time_us = 500;
|
||||
settings.storage_cell_count = 16;
|
||||
REQUIRE_THROWS(state_machine.SetDetectorSettings(settings));
|
||||
REQUIRE_THROWS(state_machine.LoadDetectorSettings(settings));
|
||||
}
|
||||
|
||||
TEST_CASE("JFJochStateMachine_State_Error") {
|
||||
@@ -118,12 +121,15 @@ TEST_CASE("JFJochStateMachine_State_Error") {
|
||||
REQUIRE_THROWS(state_machine.Start(setup));
|
||||
REQUIRE_THROWS(state_machine.Pedestal());
|
||||
|
||||
REQUIRE(state_machine.WaitTillMeasurementDone(std::chrono::milliseconds(1)) == JFJochState::Error);
|
||||
|
||||
DetectorSettings settings{};
|
||||
settings.frame_time_us = 500;
|
||||
settings.storage_cell_count = 16;
|
||||
REQUIRE_NOTHROW(state_machine.SetDetectorSettings(settings));
|
||||
REQUIRE_NOTHROW(state_machine.LoadDetectorSettings(settings));
|
||||
|
||||
REQUIRE_NOTHROW(state_machine.Initialize());
|
||||
REQUIRE_NOTHROW(state_machine.WaitTillMeasurementDone());
|
||||
REQUIRE_NOTHROW(state = state_machine.GetState());
|
||||
REQUIRE(state == JFJochState::Idle);
|
||||
}
|
||||
@@ -137,7 +143,7 @@ TEST_CASE("JFJochStateMachine_Setup") {
|
||||
DetectorSettings settings{}, settings_save{};
|
||||
settings.pedestal_g1_frames = -15;
|
||||
settings.pedestal_g0_frames = 2378;
|
||||
REQUIRE_THROWS(state_machine.SetDetectorSettings(settings));
|
||||
REQUIRE_THROWS(state_machine.LoadDetectorSettings(settings));
|
||||
REQUIRE(state_machine.NotThreadSafe_Experiment().GetPedestalG0Frames() != 2378);
|
||||
|
||||
settings.pedestal_g2_frames = 2800;
|
||||
@@ -146,7 +152,7 @@ TEST_CASE("JFJochStateMachine_Setup") {
|
||||
settings.storage_cell_count = 16;
|
||||
settings.frame_time_us = 600;
|
||||
settings.count_time_us = 247;
|
||||
REQUIRE_NOTHROW(state_machine.SetDetectorSettings(settings));
|
||||
REQUIRE_NOTHROW(state_machine.LoadDetectorSettings(settings));
|
||||
REQUIRE(state_machine.NotThreadSafe_Experiment().GetPedestalG0Frames() == 2378);
|
||||
REQUIRE(state_machine.NotThreadSafe_Experiment().GetPedestalG1Frames() == 3000);
|
||||
REQUIRE(state_machine.NotThreadSafe_Experiment().GetPedestalG2Frames() == 2800);
|
||||
@@ -164,6 +170,7 @@ TEST_CASE("JFJochStateMachine_NoDetectorSetup") {
|
||||
JFJochServices services(logger);
|
||||
JFJochStateMachine state_machine(services, logger);
|
||||
REQUIRE_THROWS(state_machine.Initialize());
|
||||
REQUIRE_NOTHROW(state_machine.WaitTillMeasurementDone());
|
||||
}
|
||||
|
||||
TEST_CASE("JFJochStateMachine_AddDetectorSetup") {
|
||||
@@ -173,6 +180,7 @@ TEST_CASE("JFJochStateMachine_AddDetectorSetup") {
|
||||
DetectorSetup setup = DetectorGeometry(4);
|
||||
state_machine.AddDetectorSetup(setup);
|
||||
REQUIRE_NOTHROW(state_machine.Initialize());
|
||||
REQUIRE_NOTHROW(state_machine.WaitTillMeasurementDone());
|
||||
}
|
||||
|
||||
TEST_CASE("JFJochStateMachine_AddDetectorSetup_Gain") {
|
||||
@@ -186,6 +194,7 @@ TEST_CASE("JFJochStateMachine_AddDetectorSetup_Gain") {
|
||||
"../../tests/test_data/gainMaps_M049.bin"});
|
||||
state_machine.AddDetectorSetup(setup);
|
||||
REQUIRE_NOTHROW(state_machine.Initialize());
|
||||
REQUIRE_NOTHROW(state_machine.WaitTillMeasurementDone());
|
||||
}
|
||||
|
||||
TEST_CASE("JFJochStateMachine_StorageCells") {
|
||||
@@ -197,9 +206,10 @@ TEST_CASE("JFJochStateMachine_StorageCells") {
|
||||
DetectorSettings settings{};
|
||||
settings.frame_time_us = 500;
|
||||
settings.storage_cell_count = 16;
|
||||
REQUIRE_NOTHROW(state_machine.SetDetectorSettings(settings));
|
||||
REQUIRE_NOTHROW(state_machine.LoadDetectorSettings(settings));
|
||||
REQUIRE(state_machine.NotThreadSafe_Experiment().GetStorageCellNumber() == 16);
|
||||
REQUIRE_NOTHROW(state_machine.Initialize());
|
||||
REQUIRE_NOTHROW(state_machine.WaitTillMeasurementDone());
|
||||
}
|
||||
|
||||
TEST_CASE("JFJochStateMachine_AddDetectorSetup_Multiple") {
|
||||
@@ -220,6 +230,7 @@ TEST_CASE("JFJochStateMachine_AddDetectorSetup_Multiple") {
|
||||
REQUIRE(dl.detector[2].nmodules == 1);
|
||||
|
||||
REQUIRE_NOTHROW(state_machine.Initialize());
|
||||
REQUIRE_NOTHROW(state_machine.WaitTillMeasurementDone());
|
||||
REQUIRE(state_machine.NotThreadSafe_Experiment().GetModulesNum() == 4);
|
||||
REQUIRE(state_machine.GetState() == JFJochState::Idle);
|
||||
|
||||
@@ -300,7 +311,7 @@ TEST_CASE("JFJochStateMachine_SetDetectorSettings", "[DiffractionExperiment]") {
|
||||
settings.pedestal_g1_frames = 100;
|
||||
settings.pedestal_g2_frames = 150;
|
||||
|
||||
REQUIRE_NOTHROW(state_machine.SetDetectorSettings(settings));
|
||||
REQUIRE_NOTHROW(state_machine.LoadDetectorSettings(settings));
|
||||
|
||||
REQUIRE(state_machine.NotThreadSafe_Experiment().GetFrameTime().count() == 600);
|
||||
REQUIRE(state_machine.NotThreadSafe_Experiment().GetFrameCountTime().count() == 400);
|
||||
@@ -327,7 +338,7 @@ TEST_CASE("JFJochStateMachine_SetDetectorSettings_StorageCellDelay", "[Diffracti
|
||||
settings.use_internal_packet_generator = true;
|
||||
settings.collect_raw_data = true;
|
||||
settings.storage_cell_delay_ns = 7000;
|
||||
REQUIRE_NOTHROW(state_machine.SetDetectorSettings(settings));
|
||||
REQUIRE_NOTHROW(state_machine.LoadDetectorSettings(settings));
|
||||
REQUIRE(state_machine.NotThreadSafe_Experiment().GetStorageCellDelay().count() == 7000);
|
||||
}
|
||||
|
||||
@@ -348,7 +359,7 @@ TEST_CASE("JFJochStateMachine_SetDetectorSettings_invalid", "[DiffractionExperim
|
||||
settings.pedestal_g0_frames = 5000;
|
||||
settings.pedestal_g1_frames = 100;
|
||||
settings.pedestal_g2_frames = 150;
|
||||
REQUIRE_THROWS(state_machine.SetDetectorSettings(settings));
|
||||
REQUIRE_THROWS(state_machine.LoadDetectorSettings(settings));
|
||||
|
||||
REQUIRE(state_machine.NotThreadSafe_Experiment().GetFrameTime().count() == 525);
|
||||
REQUIRE(state_machine.NotThreadSafe_Experiment().GetFrameCountTime().count() == 525 - READOUT_TIME_IN_US);
|
||||
@@ -370,7 +381,7 @@ TEST_CASE("JFJochStateMachine_SetDetectorSettings_inferred", "[DiffractionExperi
|
||||
DetectorSettings settings{};
|
||||
settings.frame_time_us = 600;
|
||||
settings.storage_cell_count = 1;
|
||||
REQUIRE_NOTHROW(state_machine.SetDetectorSettings(settings));
|
||||
REQUIRE_NOTHROW(state_machine.LoadDetectorSettings(settings));
|
||||
|
||||
REQUIRE(state_machine.NotThreadSafe_Experiment().GetFrameTime().count() == 600);
|
||||
REQUIRE(state_machine.NotThreadSafe_Experiment().GetFrameCountTime().count() == 600 - READOUT_TIME_IN_US);
|
||||
|
||||
Reference in New Issue
Block a user