Files
MuditaOS/module-utils/test/unittest_utils.cpp
Alek-Mudita f94688f996 [EGD-2998] fixed UT for Utils. (#253)
* [EGD-2998] fixed UT for Utils.

* [EGD-2998] clean up

* [EGD-2998] missing cmake file
2020-03-23 16:21:17 +01:00

68 lines
1.7 KiB
C++

#include <cstring>
#include <iostream>
#include <memory>
#include <unistd.h>
#define CATCH_CONFIG_MAIN // This tells Catch to provide a main() - only do this in one cpp file
#include "catch.hpp"
#include "Utils.hpp"
TEST_CASE("Split tests")
{
std::string delimiter = "\r\n";
std::string inputStr1 = "\r\nOK\r\n\r\nNO CARRIER\r\n\r\nFINISHED\r\n";
auto ret = utils::split(inputStr1, delimiter, false);
REQUIRE(ret.size() == 7);
REQUIRE(ret[0] == "");
REQUIRE(ret[1] == "OK");
REQUIRE(ret[2] == "");
REQUIRE(ret[3] == "NO CARRIER");
REQUIRE(ret[4] == "");
REQUIRE(ret[5] == "FINISHED");
REQUIRE(ret[6] == "");
ret = utils::split(inputStr1, delimiter);
REQUIRE(ret.size() == 3);
REQUIRE(ret[0] == "OK");
REQUIRE(ret[1] == "NO CARRIER");
REQUIRE(ret[2] == "FINISHED");
ret = utils::split("a-b-c", "-");
REQUIRE(ret.size() == 3);
REQUIRE(ret[0] == "a");
REQUIRE(ret[1] == "b");
REQUIRE(ret[2] == "c");
ret = utils::split("a--c", "-", false);
REQUIRE(ret.size() == 3);
REQUIRE(ret[0] == "a");
REQUIRE(ret[1] == "");
REQUIRE(ret[2] == "c");
ret = utils::split("a--c", "-");
REQUIRE(ret.size() == 2);
REQUIRE(ret[0] == "a");
REQUIRE(ret[1] == "c");
ret = utils::split("-b-", "-", false);
REQUIRE(ret.size() == 3);
REQUIRE(ret[0] == "");
REQUIRE(ret[1] == "b");
REQUIRE(ret[2] == "");
ret = utils::split("-b-", "-");
REQUIRE(ret.size() == 1);
REQUIRE(ret[0] == "b");
ret = utils::split("", "-", false);
REQUIRE(ret.size() == 1);
REQUIRE(ret[0] == "");
ret = utils::split("", "-");
REQUIRE(ret.size() == 0);
}