gbathree.cpp 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. // ArduinoJson - arduinojson.org
  2. // Copyright Benoit Blanchon 2014-2023
  3. // MIT License
  4. #include <ArduinoJson.h>
  5. #include <catch.hpp>
  6. TEST_CASE("Gbathree") {
  7. DynamicJsonBuffer _buffer;
  8. const JsonObject& _object = _buffer.parseObject(
  9. "{\"protocol_name\":\"fluorescence\",\"repeats\":1,\"wait\":0,"
  10. "\"averages\":1,\"measurements\":3,\"meas2_light\":15,\"meas1_"
  11. "baseline\":0,\"act_light\":20,\"pulsesize\":25,\"pulsedistance\":"
  12. "10000,\"actintensity1\":50,\"actintensity2\":255,\"measintensity\":"
  13. "255,\"calintensity\":255,\"pulses\":[50,50,50],\"act\":[2,1,2,2],"
  14. "\"red\":[2,2,2,2],\"detectors\":[[34,34,34,34],[34,34,34,34],[34,"
  15. "34,34,34],[34,34,34,34]],\"alta\":[2,2,2,2],\"altb\":[2,2,2,2],"
  16. "\"measlights\":[[15,15,15,15],[15,15,15,15],[15,15,15,15],[15,15,"
  17. "15,15]],\"measlights2\":[[15,15,15,15],[15,15,15,15],[15,15,15,15],"
  18. "[15,15,15,15]],\"altc\":[2,2,2,2],\"altd\":[2,2,2,2]}");
  19. SECTION("Success") {
  20. REQUIRE(_object.success());
  21. }
  22. SECTION("ProtocolName") {
  23. REQUIRE("fluorescence" == _object["protocol_name"]);
  24. }
  25. SECTION("Repeats") {
  26. REQUIRE(1 == _object["repeats"]);
  27. }
  28. SECTION("Wait") {
  29. REQUIRE(0 == _object["wait"]);
  30. }
  31. SECTION("Measurements") {
  32. REQUIRE(3 == _object["measurements"]);
  33. }
  34. SECTION("Meas2_Light") {
  35. REQUIRE(15 == _object["meas2_light"]);
  36. }
  37. SECTION("Meas1_Baseline") {
  38. REQUIRE(0 == _object["meas1_baseline"]);
  39. }
  40. SECTION("Act_Light") {
  41. REQUIRE(20 == _object["act_light"]);
  42. }
  43. SECTION("Pulsesize") {
  44. REQUIRE(25 == _object["pulsesize"]);
  45. }
  46. SECTION("Pulsedistance") {
  47. REQUIRE(10000 == _object["pulsedistance"]);
  48. }
  49. SECTION("Actintensity1") {
  50. REQUIRE(50 == _object["actintensity1"]);
  51. }
  52. SECTION("Actintensity2") {
  53. REQUIRE(255 == _object["actintensity2"]);
  54. }
  55. SECTION("Measintensity") {
  56. REQUIRE(255 == _object["measintensity"]);
  57. }
  58. SECTION("Calintensity") {
  59. REQUIRE(255 == _object["calintensity"]);
  60. }
  61. SECTION("Pulses") {
  62. // "pulses":[50,50,50]
  63. JsonArray& array = _object["pulses"];
  64. REQUIRE(array.success());
  65. REQUIRE(3 == array.size());
  66. for (size_t i = 0; i < 3; i++) {
  67. REQUIRE(50 == array[i]);
  68. }
  69. }
  70. SECTION("Act") {
  71. // "act":[2,1,2,2]
  72. JsonArray& array = _object["act"];
  73. REQUIRE(array.success());
  74. REQUIRE(4 == array.size());
  75. REQUIRE(2 == array[0]);
  76. REQUIRE(1 == array[1]);
  77. REQUIRE(2 == array[2]);
  78. REQUIRE(2 == array[3]);
  79. }
  80. SECTION("Detectors") {
  81. // "detectors":[[34,34,34,34],[34,34,34,34],[34,34,34,34],[34,34,34,34]]
  82. JsonArray& array = _object["detectors"];
  83. REQUIRE(array.success());
  84. REQUIRE(4 == array.size());
  85. for (size_t i = 0; i < 4; i++) {
  86. JsonArray& nestedArray = array[i];
  87. REQUIRE(4 == nestedArray.size());
  88. for (size_t j = 0; j < 4; j++) {
  89. REQUIRE(34 == nestedArray[j]);
  90. }
  91. }
  92. }
  93. SECTION("Alta") {
  94. // alta:[2,2,2,2]
  95. JsonArray& array = _object["alta"];
  96. REQUIRE(array.success());
  97. REQUIRE(4 == array.size());
  98. for (size_t i = 0; i < 4; i++) {
  99. REQUIRE(2 == array[i]);
  100. }
  101. }
  102. SECTION("Altb") {
  103. // altb:[2,2,2,2]
  104. JsonArray& array = _object["altb"];
  105. REQUIRE(array.success());
  106. REQUIRE(4 == array.size());
  107. for (size_t i = 0; i < 4; i++) {
  108. REQUIRE(2 == array[i]);
  109. }
  110. }
  111. SECTION("Measlights") {
  112. // "measlights":[[15,15,15,15],[15,15,15,15],[15,15,15,15],[15,15,15,15]]
  113. JsonArray& array = _object["measlights"];
  114. REQUIRE(array.success());
  115. REQUIRE(4 == array.size());
  116. for (size_t i = 0; i < 4; i++) {
  117. JsonArray& nestedArray = array[i];
  118. REQUIRE(4 == nestedArray.size());
  119. for (size_t j = 0; j < 4; j++) {
  120. REQUIRE(15 == nestedArray[j]);
  121. }
  122. }
  123. }
  124. SECTION("Measlights2") {
  125. // "measlights2":[[15,15,15,15],[15,15,15,15],[15,15,15,15],[15,15,15,15]]
  126. JsonArray& array = _object["measlights2"];
  127. REQUIRE(array.success());
  128. REQUIRE(4 == array.size());
  129. for (size_t i = 0; i < 4; i++) {
  130. JsonArray& nestedArray = array[i];
  131. REQUIRE(4 == nestedArray.size());
  132. for (size_t j = 0; j < 4; j++) {
  133. REQUIRE(15 == nestedArray[j]);
  134. }
  135. }
  136. }
  137. SECTION("Altc") {
  138. // altc:[2,2,2,2]
  139. JsonArray& array = _object["altc"];
  140. REQUIRE(array.success());
  141. REQUIRE(4 == array.size());
  142. for (size_t i = 0; i < 4; i++) {
  143. REQUIRE(2 == array[i]);
  144. }
  145. }
  146. SECTION("Altd") {
  147. // altd:[2,2,2,2]
  148. JsonArray& array = _object["altd"];
  149. REQUIRE(array.success());
  150. REQUIRE(4 == array.size());
  151. for (size_t i = 0; i < 4; i++) {
  152. REQUIRE(2 == array[i]);
  153. }
  154. }
  155. }