This commit is contained in:
2021-07-29 12:45:05 +02:00
parent 32b208f49f
commit e5b17fb8e2
5 changed files with 229 additions and 119 deletions

View File

@ -1410,52 +1410,56 @@ TEST_CASE("dacvalues", "[.cmd]") {
TEST_CASE("defaultdac", "[.cmd]") {
Detector det;
CmdProxy proxy(&det);
REQUIRE_THROWS(proxy.Call("defaultdac", {}, -1, GET));
REQUIRE_THROWS(proxy.Call("defaultdac", {"blabla"}, -1, PUT));
auto daclist = det.getDacList();
for (auto it : daclist) {
auto dacname = sls::ToString(it);
auto prev_val = det.getDefaultDac(it);
{
std::ostringstream oss;
proxy.Call("defaultdac", {dacname, "1000"}, -1, PUT, oss);
REQUIRE(oss.str() == std::string("defaultdac [") + dacname +
std::string(", 1000]\n"));
}
{
std::ostringstream oss;
proxy.Call("defaultdac", {dacname}, -1, GET, oss);
REQUIRE(oss.str() == std::string("defaultdac ") + dacname +
std::string(" 1000\n"));
}
for (int i = 0; i != det.size(); ++i) {
det.setDefaultDac(it, prev_val[i], {i});
}
}
auto det_type = det.getDetectorType().squash();
if (det_type != defs::JUNGFRAU) {
std::vector<defs::dacIndex> daclist = {defs::VB_COMP, defs::VREF_DS,
defs::VREF_COMP};
if (det_type != defs::CHIPTESTBOARD) {
REQUIRE_THROWS(proxy.Call("defaultdac", {}, -1, GET));
REQUIRE_THROWS(proxy.Call("defaultdac", {"blabla"}, -1, PUT));
auto daclist = det.getDacList();
for (auto it : daclist) {
auto dacname = sls::ToString(it);
auto prev_val = det.getDefaultDac(it, defs::DYNAMICGAIN);
auto prev_val = det.getDefaultDac(it);
{
std::ostringstream oss;
proxy.Call("defaultdac", {dacname, "1000", "dynamicgain"}, -1,
PUT, oss);
proxy.Call("defaultdac", {dacname, "1000"}, -1, PUT, oss);
REQUIRE(oss.str() == std::string("defaultdac [") + dacname +
std::string(", dynamicgain, 1000]\n"));
std::string(", 1000]\n"));
}
{
std::ostringstream oss;
proxy.Call("defaultdac", {dacname}, -1, GET, oss);
REQUIRE(oss.str() == std::string("defaultdac [") + dacname +
std::string(", dynamicgain] 1000\n"));
REQUIRE(oss.str() == std::string("defaultdac ") + dacname +
std::string(" 1000\n"));
}
for (int i = 0; i != det.size(); ++i) {
det.setDefaultDac(it, prev_val[i], defs::DYNAMICGAIN, {i});
det.setDefaultDac(it, prev_val[i], {i});
}
}
if (det_type == defs::JUNGFRAU) {
std::vector<defs::dacIndex> daclist = {defs::VB_COMP, defs::VREF_DS,
defs::VREF_COMP};
for (auto it : daclist) {
auto dacname = sls::ToString(it);
auto prev_val = det.getDefaultDac(it, defs::DYNAMICGAIN);
{
std::ostringstream oss;
proxy.Call("defaultdac", {dacname, "1000", "dynamicgain"}, -1,
PUT, oss);
REQUIRE(oss.str() == std::string("defaultdac [") + dacname +
std::string(", dynamicgain, 1000]\n"));
}
{
std::ostringstream oss;
proxy.Call("defaultdac", {dacname}, -1, GET, oss);
REQUIRE(oss.str() == std::string("defaultdac [") + dacname +
std::string(", dynamicgain] 1000\n"));
}
for (int i = 0; i != det.size(); ++i) {
det.setDefaultDac(it, prev_val[i], defs::DYNAMICGAIN, {i});
}
}
}
} else {
REQUIRE_THROWS(proxy.Call("defaultdac", {}, -1, GET));
}
}