|
|
|
// ArduinoJson - https://arduinojson.org
|
|
|
|
// Copyright © 2014-2024, Benoit BLANCHON
|
|
|
|
// MIT License
|
|
|
|
|
|
|
|
#include <ArduinoJson.h>
|
|
|
|
#include <catch.hpp>
|
|
|
|
|
|
|
|
TEST_CASE("Gbathree") {
|
|
|
|
JsonDocument doc;
|
|
|
|
|
|
|
|
DeserializationError error = deserializeJson(
|
|
|
|
doc,
|
|
|
|
"{\"protocol_name\":\"fluorescence\",\"repeats\":1,\"wait\":0,"
|
|
|
|
"\"averages\":1,\"measurements\":3,\"meas2_light\":15,\"meas1_"
|
|
|
|
"baseline\":0,\"act_light\":20,\"pulsesize\":25,\"pulsedistance\":"
|
|
|
|
"10000,\"actintensity1\":50,\"actintensity2\":255,\"measintensity\":"
|
|
|
|
"255,\"calintensity\":255,\"pulses\":[50,50,50],\"act\":[2,1,2,2],"
|
|
|
|
"\"red\":[2,2,2,2],\"detectors\":[[34,34,34,34],[34,34,34,34],[34,"
|
|
|
|
"34,34,34],[34,34,34,34]],\"alta\":[2,2,2,2],\"altb\":[2,2,2,2],"
|
|
|
|
"\"measlights\":[[15,15,15,15],[15,15,15,15],[15,15,15,15],[15,15,"
|
|
|
|
"15,15]],\"measlights2\":[[15,15,15,15],[15,15,15,15],[15,15,15,15],"
|
|
|
|
"[15,15,15,15]],\"altc\":[2,2,2,2],\"altd\":[2,2,2,2]}");
|
|
|
|
JsonObject root = doc.as<JsonObject>();
|
|
|
|
|
|
|
|
SECTION("Success") {
|
|
|
|
REQUIRE(error == DeserializationError::Ok);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("ProtocolName") {
|
|
|
|
REQUIRE("fluorescence" == root["protocol_name"]);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Repeats") {
|
|
|
|
REQUIRE(1 == root["repeats"]);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Wait") {
|
|
|
|
REQUIRE(0 == root["wait"]);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Measurements") {
|
|
|
|
REQUIRE(3 == root["measurements"]);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Meas2_Light") {
|
|
|
|
REQUIRE(15 == root["meas2_light"]);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Meas1_Baseline") {
|
|
|
|
REQUIRE(0 == root["meas1_baseline"]);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Act_Light") {
|
|
|
|
REQUIRE(20 == root["act_light"]);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Pulsesize") {
|
|
|
|
REQUIRE(25 == root["pulsesize"]);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Pulsedistance") {
|
|
|
|
REQUIRE(10000 == root["pulsedistance"]);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Actintensity1") {
|
|
|
|
REQUIRE(50 == root["actintensity1"]);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Actintensity2") {
|
|
|
|
REQUIRE(255 == root["actintensity2"]);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Measintensity") {
|
|
|
|
REQUIRE(255 == root["measintensity"]);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Calintensity") {
|
|
|
|
REQUIRE(255 == root["calintensity"]);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Pulses") {
|
|
|
|
// "pulses":[50,50,50]
|
|
|
|
|
|
|
|
JsonArray array = root["pulses"];
|
|
|
|
REQUIRE(array.isNull() == false);
|
|
|
|
|
|
|
|
REQUIRE(3 == array.size());
|
|
|
|
|
|
|
|
for (size_t i = 0; i < 3; i++) {
|
|
|
|
REQUIRE(50 == array[i]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Act") {
|
|
|
|
// "act":[2,1,2,2]
|
|
|
|
|
|
|
|
JsonArray array = root["act"];
|
|
|
|
REQUIRE(array.isNull() == false);
|
|
|
|
|
|
|
|
REQUIRE(4 == array.size());
|
|
|
|
REQUIRE(2 == array[0]);
|
|
|
|
REQUIRE(1 == array[1]);
|
|
|
|
REQUIRE(2 == array[2]);
|
|
|
|
REQUIRE(2 == array[3]);
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Detectors") {
|
|
|
|
// "detectors":[[34,34,34,34],[34,34,34,34],[34,34,34,34],[34,34,34,34]]
|
|
|
|
|
|
|
|
JsonArray array = root["detectors"];
|
|
|
|
REQUIRE(array.isNull() == false);
|
|
|
|
REQUIRE(4 == array.size());
|
|
|
|
|
|
|
|
for (size_t i = 0; i < 4; i++) {
|
|
|
|
JsonArray nestedArray = array[i];
|
|
|
|
REQUIRE(4 == nestedArray.size());
|
|
|
|
|
|
|
|
for (size_t j = 0; j < 4; j++) {
|
|
|
|
REQUIRE(34 == nestedArray[j]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Alta") {
|
|
|
|
// alta:[2,2,2,2]
|
|
|
|
|
|
|
|
JsonArray array = root["alta"];
|
|
|
|
REQUIRE(array.isNull() == false);
|
|
|
|
|
|
|
|
REQUIRE(4 == array.size());
|
|
|
|
|
|
|
|
for (size_t i = 0; i < 4; i++) {
|
|
|
|
REQUIRE(2 == array[i]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Altb") {
|
|
|
|
// altb:[2,2,2,2]
|
|
|
|
|
|
|
|
JsonArray array = root["altb"];
|
|
|
|
REQUIRE(array.isNull() == false);
|
|
|
|
|
|
|
|
REQUIRE(4 == array.size());
|
|
|
|
|
|
|
|
for (size_t i = 0; i < 4; i++) {
|
|
|
|
REQUIRE(2 == array[i]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Measlights") {
|
|
|
|
// "measlights":[[15,15,15,15],[15,15,15,15],[15,15,15,15],[15,15,15,15]]
|
|
|
|
|
|
|
|
JsonArray array = root["measlights"];
|
|
|
|
REQUIRE(array.isNull() == false);
|
|
|
|
REQUIRE(4 == array.size());
|
|
|
|
|
|
|
|
for (size_t i = 0; i < 4; i++) {
|
|
|
|
JsonArray nestedArray = array[i];
|
|
|
|
|
|
|
|
REQUIRE(4 == nestedArray.size());
|
|
|
|
|
|
|
|
for (size_t j = 0; j < 4; j++) {
|
|
|
|
REQUIRE(15 == nestedArray[j]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Measlights2") {
|
|
|
|
// "measlights2":[[15,15,15,15],[15,15,15,15],[15,15,15,15],[15,15,15,15]]
|
|
|
|
|
|
|
|
JsonArray array = root["measlights2"];
|
|
|
|
REQUIRE(array.isNull() == false);
|
|
|
|
REQUIRE(4 == array.size());
|
|
|
|
|
|
|
|
for (size_t i = 0; i < 4; i++) {
|
|
|
|
JsonArray nestedArray = array[i];
|
|
|
|
REQUIRE(4 == nestedArray.size());
|
|
|
|
|
|
|
|
for (size_t j = 0; j < 4; j++) {
|
|
|
|
REQUIRE(15 == nestedArray[j]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Altc") {
|
|
|
|
// altc:[2,2,2,2]
|
|
|
|
|
|
|
|
JsonArray array = root["altc"];
|
|
|
|
REQUIRE(array.isNull() == false);
|
|
|
|
|
|
|
|
REQUIRE(4 == array.size());
|
|
|
|
|
|
|
|
for (size_t i = 0; i < 4; i++) {
|
|
|
|
REQUIRE(2 == array[i]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Altd") {
|
|
|
|
// altd:[2,2,2,2]
|
|
|
|
|
|
|
|
JsonArray array = root["altd"];
|
|
|
|
REQUIRE(array.isNull() == false);
|
|
|
|
|
|
|
|
REQUIRE(4 == array.size());
|
|
|
|
|
|
|
|
for (size_t i = 0; i < 4; i++) {
|
|
|
|
REQUIRE(2 == array[i]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|