Files
MuditaOS/module-utils/test/unittest_utils.cpp
Alek-Mudita ea69daaebc Egd 2420 adding new calllog entry phase2 (#150)
* [EGD-2420] tokenizer refactoring
new class CellularCall

* [EDG-2420] new file added

* [EGD-2420] fixed include

* [EGD-2420] added new ModemCall type and its usage in Sevice Cellular.
missing dep in module-cellular.
Fix in tokenizer.

* [EGD-2420] get calllogrecordID one adding new entry to DB
number as contact name

* [EGD-2420] fixes at DB level api for update and delete
Outgoing call seems to add proper calllog entries now

* [EGD-2420][fix] fix for HF during call before full modem init

* [EGD-2420] incoming and missed calls are handled
code clean-up

* [EGD-2420] ModemCall::to_string

* [EGD-2420] added proper exceptions

* [EGD-2420] minor clean up

* [EGD-2420] split string with multichar delimiter

* [EGD-2420] done some TODOs

* [EGD-2420] PR fixes

* [EGD-2420] separation between cellularcall and cellularservice
PR fixes

* [EGD-2420] duration based on timestamp instead of timer

* [EGD-2420] new to_strings

* [EGD-2420] fixes after rebase

* [EGD-2420] operator<<

* [EGD-2420] changed split params

* [EGD-2420] changed returned db id

* [EGD-2420] comment with explantaion
2020-01-30 12:45:29 +01:00

81 lines
2.2 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, 0, 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] == "");
inputStr1 = "\r\nOK\r\n\r\nNO CARRIER\r\n\r\nFINISHED\r\n";
ret = utils::split(inputStr1, delimiter);
REQUIRE(ret.size() == 3);
REQUIRE(ret[0] == "OK");
REQUIRE(ret[1] == "NO CARRIER");
REQUIRE(ret[2] == "FINISHED");
inputStr1 = "\r\nOK\r\n\r\nNO CARRIER\r\n\r\nFINISHED\r\n";
ret = utils::split(inputStr1, delimiter, 2, false);
REQUIRE(ret.size() == 2);
REQUIRE(ret[0] == "");
REQUIRE(ret[1] == "OK");
inputStr1 = "\r\nOK\r\n\r\nNO CARRIER\r\n\r\nFINISHED\r\n";
ret = utils::split(inputStr1, delimiter, 2);
REQUIRE(ret.size() == 2);
REQUIRE(ret[0] == "OK");
REQUIRE(ret[1] == "NO CARRIER");
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", "-", 0, 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-", "-", 0, 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("", "-", 0, false);
REQUIRE(ret.size() == 1);
REQUIRE(ret[0] == "");
ret = utils::split("", "-");
REQUIRE(ret.size() == 0);
}