Permet de lire les données de la passerelle enphase pour piloter la chauffe d'un cumulus via un relais statique.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

103 lines
1.9 KiB

// ArduinoJson - https://arduinojson.org
// Copyright © 2014-2024, Benoit BLANCHON
// MIT License
#include <ArduinoJson.h>
#include <catch.hpp>
#include <sstream>
TEST_CASE("JsonString") {
SECTION("Default constructor creates a null JsonString") {
JsonString s;
CHECK(s.isNull() == true);
CHECK(s.c_str() == 0);
CHECK(s.isLinked() == true);
CHECK(s == JsonString());
CHECK(s != "");
}
SECTION("Null converts to false") {
JsonString s;
CHECK(bool(s) == false);
}
SECTION("Empty string converts to true") {
JsonString s("");
CHECK(bool(s) == true);
}
SECTION("Non-empty string converts to true") {
JsonString s("");
CHECK(bool(s) == true);
}
SECTION("Null strings equals each others") {
JsonString a, b;
CHECK(a == b);
CHECK_FALSE(a != b);
}
SECTION("Null and empty strings differ") {
JsonString a, b("");
CHECK_FALSE(a == b);
CHECK(a != b);
CHECK_FALSE(b == a);
CHECK(b != a);
}
SECTION("Null and non-empty strings differ") {
JsonString a, b("hello");
CHECK_FALSE(a == b);
CHECK(a != b);
CHECK_FALSE(b == a);
CHECK(b != a);
}
SECTION("Compare different strings") {
JsonString a("hello"), b("world");
CHECK_FALSE(a == b);
CHECK(a != b);
}
SECTION("Compare identical by pointer") {
JsonString a("hello"), b("hello");
CHECK(a == b);
CHECK_FALSE(a != b);
}
SECTION("Compare identical by value") {
char s1[] = "hello";
char s2[] = "hello";
JsonString a(s1), b(s2);
CHECK(a == b);
CHECK_FALSE(a != b);
}
SECTION("std::stream") {
std::stringstream ss;
ss << JsonString("hello world!");
CHECK(ss.str() == "hello world!");
}
SECTION("Construct with a size") {
JsonString s("hello world", 5);
CHECK(s.size() == 5);
CHECK(s.isLinked() == true);
CHECK(s == "hello");
CHECK(s != "hello world");
}
}