// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include #include "DTMFCode.hpp" TEST_CASE("DTMFCode") { SECTION("Parse from char") { auto code = DTMFCode('0'); REQUIRE(code.getDigitASCIICode() == '0'); REQUIRE(std::string(code) == "\"0\""); } SECTION("Parse from char 2") { auto code = DTMFCode('9'); REQUIRE(code.getDigitASCIICode() == '9'); REQUIRE(std::string(code) == "\"9\""); } SECTION("Parse from char 3") { auto code = DTMFCode('*'); REQUIRE(code.getDigitASCIICode() == '*'); REQUIRE(std::string(code) == "\"*\""); } SECTION("Parse from char 4") { auto code = DTMFCode('#'); REQUIRE(code.getDigitASCIICode() == '#'); REQUIRE(std::string(code) == "\"#\""); } SECTION("Parse from string") { auto code = DTMFCode("0"); REQUIRE(code.getDigitASCIICode() == '0'); REQUIRE(std::string(code) == "\"0\""); } SECTION("Parse from string 2") { auto code = DTMFCode("9"); REQUIRE(code.getDigitASCIICode() == '9'); REQUIRE(std::string(code) == "\"9\""); } SECTION("Parse from string 3") { auto code = DTMFCode("*"); REQUIRE(code.getDigitASCIICode() == '*'); REQUIRE(std::string(code) == "\"*\""); } SECTION("Parse from string 4") { auto code = DTMFCode("#"); REQUIRE(code.getDigitASCIICode() == '#'); REQUIRE(std::string(code) == "\"#\""); } SECTION("Parse from char - incorrect input") { REQUIRE_THROWS_AS(DTMFCode('a'), std::out_of_range); } SECTION("Parse from char - incorrect input 2") { REQUIRE_THROWS_AS(DTMFCode('!'), std::out_of_range); } SECTION("Parse from string - incorrect input 1") { REQUIRE_THROWS_AS(DTMFCode("a"), std::out_of_range); } SECTION("Parse from string - incorrect input 2") { REQUIRE_THROWS_AS(DTMFCode("!"), std::out_of_range); } SECTION("Parse from string - incorrect input 3") { REQUIRE_THROWS_AS(DTMFCode("12"), std::out_of_range); } }