init: gtest and quiz 1.

This commit is contained in:
2025-05-19 21:09:08 +08:00
commit 992103fd7b
258 changed files with 113483 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
enable_testing()
aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} TEST_SRC)
add_executable(
mixplus_test
${TEST_SRC}
)
target_link_libraries(mixplus_test GTest::gtest_main libmixplus)

View File

@@ -0,0 +1,28 @@
#include <parser.h>
#include <gtest/gtest.h>
TEST(SmokeTests, ParseSuccesfullyTest)
{
ASSERT_EQ(16, mixplus::Parser::parseNumber("0x10"));
ASSERT_EQ(1, mixplus::Parser::parseNumber("1"));
ASSERT_EQ(1, mixplus::Parser::parseNumber("0x1"));
}
TEST(SmokeTests, ParseFailedTest)
{
ASSERT_ANY_THROW(mixplus::Parser::parseNumber("0x0dragonegg"));
ASSERT_ANY_THROW(mixplus::Parser::parseNumber("ox"));
ASSERT_ANY_THROW(mixplus::Parser::parseNumber("oxdragon"));
}
TEST(ParseAndAddTests, Test1)
{
const char* argv[3] = {"", "1", "2"};
ASSERT_EQ(3, mixplus::Parser::parseAndAdd(3,argv));
}
TEST(ParseAndAddTests, Test2)
{
const char* argv[3] = {"", "0x10", "2"};
ASSERT_EQ(18, mixplus::Parser::parseAndAdd(3,argv));
}