mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-23 01:58:00 +02:00
Api (#48)
* WIP * WIP * WIP * cleaned up multi * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * split up python module * WIP * WIP * WIP * WIP * WIP * ok * fixed bugs from rebase * WIP * fixed broken test * WIP * fixed python * WIP * sphinx help * including new commands * docs * WIP * WIP * more tests * added missing public header * WIP
This commit is contained in:
@ -3,4 +3,5 @@ target_sources(tests PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test-slsDetector.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test-multiSlsDetector.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test-multiSlsDetectorClient.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test-Result.cpp
|
||||
)
|
75
slsDetectorSoftware/tests/test-Result.cpp
Normal file
75
slsDetectorSoftware/tests/test-Result.cpp
Normal file
@ -0,0 +1,75 @@
|
||||
#include "Result.h"
|
||||
#include "catch.hpp"
|
||||
|
||||
#include <type_traits>
|
||||
|
||||
using sls::Result;
|
||||
|
||||
TEST_CASE("Default construction", "[detector][n2]") {
|
||||
Result<int> res;
|
||||
REQUIRE(res.size() == 0);
|
||||
REQUIRE(res.empty() == true);
|
||||
}
|
||||
|
||||
TEST_CASE("Initializer list construction", "[n2]") {
|
||||
Result<int> res{1, 2, 5};
|
||||
REQUIRE(res.empty() == false);
|
||||
REQUIRE(res.size() == 3);
|
||||
REQUIRE(res[0] == 1);
|
||||
REQUIRE(res[1] == 2);
|
||||
REQUIRE(res[2] == 5);
|
||||
}
|
||||
|
||||
TEST_CASE("Construct with value and number", "[n2]") {
|
||||
Result<int> res(5, 7);
|
||||
REQUIRE(res.size() == 5);
|
||||
REQUIRE(res[0] == 7);
|
||||
REQUIRE(res[1] == 7);
|
||||
REQUIRE(res[2] == 7);
|
||||
REQUIRE(res[3] == 7);
|
||||
REQUIRE(res[4] == 7);
|
||||
}
|
||||
|
||||
TEST_CASE("Squash empty", "[n2]") {
|
||||
Result<double> res;
|
||||
REQUIRE(res.squash() == 0.);
|
||||
}
|
||||
|
||||
TEST_CASE("Squash gives either value or default constructed value", "[n2]") {
|
||||
Result<int> res{3, 3, 3};
|
||||
REQUIRE(res.squash() == 3);
|
||||
|
||||
res.push_back(5);
|
||||
REQUIRE(res.squash() == 0);
|
||||
REQUIRE(res.squash(-1) == -1);
|
||||
}
|
||||
|
||||
TEST_CASE("Updating an element", "[n2]") {
|
||||
|
||||
Result<int> res{1, 2, 3};
|
||||
REQUIRE(res[0] == 1);
|
||||
REQUIRE(res[1] == 2);
|
||||
REQUIRE(res[2] == 3);
|
||||
|
||||
res[0] = 5;
|
||||
REQUIRE(res[0] == 5);
|
||||
REQUIRE(res[1] == 2);
|
||||
REQUIRE(res[2] == 3);
|
||||
}
|
||||
|
||||
TEST_CASE("equal", "[n2]"){
|
||||
Result<float> res;
|
||||
|
||||
// There are no elements to compare
|
||||
REQUIRE(res.equal() == false);
|
||||
|
||||
//all (the one) elements are equal
|
||||
res.push_back(1.2);
|
||||
REQUIRE(res.equal() == true);
|
||||
|
||||
res.push_back(1.2);
|
||||
REQUIRE(res.equal() == true);
|
||||
|
||||
res.push_back(1.3);
|
||||
REQUIRE(res.equal() == false);
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
#include "catch.hpp"
|
||||
#include "multiSlsDetector.h"
|
||||
#include "multiSlsDetectorClient.h"
|
||||
#include "sls_detector_defs.h"
|
||||
#include <sstream>
|
||||
@ -108,7 +109,7 @@ TEST_CASE("enablefoverwrite", "[.cmd]") {
|
||||
}
|
||||
}
|
||||
|
||||
//EIGER ONLY
|
||||
// EIGER ONLY
|
||||
// TEST_CASE("activatecmd", "[.cmd]") {
|
||||
|
||||
// {
|
||||
@ -395,4 +396,40 @@ TEST_CASE("rx_checkversion", "[.cmd]") {
|
||||
std::ostringstream oss;
|
||||
multiSlsDetectorClient("rx_checkversion", GET, nullptr, oss);
|
||||
REQUIRE(oss.str() == "rx_checkversion compatible\n");
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("exptime", "[.cmd]") {
|
||||
{
|
||||
std::ostringstream oss;
|
||||
multiSlsDetectorClient("exptime 0.05", PUT, nullptr, oss);
|
||||
REQUIRE(oss.str() == "exptime 0.050000000\n");
|
||||
}
|
||||
{
|
||||
std::ostringstream oss;
|
||||
multiSlsDetectorClient("exptime", GET, nullptr, oss);
|
||||
REQUIRE(oss.str() == "exptime 0.050000000\n");
|
||||
}
|
||||
{
|
||||
std::ostringstream oss;
|
||||
multiSlsDetectorClient("exptime 1", PUT, nullptr, oss);
|
||||
REQUIRE(oss.str() == "exptime 1.000000000\n");
|
||||
}
|
||||
}
|
||||
|
||||
// TEST_CASE("exptime2", "[.cmd]") {
|
||||
// {
|
||||
// std::ostringstream oss;
|
||||
// multiSlsDetectorClient("exptime2 0.05", PUT, nullptr, oss);
|
||||
// REQUIRE(oss.str() == "exptime2 0.05s\n");
|
||||
// }
|
||||
// {
|
||||
// std::ostringstream oss;
|
||||
// multiSlsDetectorClient("exptime2", GET, nullptr, oss);
|
||||
// REQUIRE(oss.str() == "exptime2 0.05s\n");
|
||||
// }
|
||||
// {
|
||||
// std::ostringstream oss;
|
||||
// multiSlsDetectorClient("exptime2 1", PUT, nullptr, oss);
|
||||
// REQUIRE(oss.str() == "exptime2 1s\n");
|
||||
// }
|
||||
// }
|
Reference in New Issue
Block a user