tsl-devkit/lsp-server/test/test_lsp_any/common_test.hpp

40 lines
1.5 KiB
C++

#pragma once
#include "test_framework.hpp"
namespace lsp::test
{
// Common 类型特征测试类
class CommonTests
{
public:
static void registerTests(TestRunner& runner);
private:
// ==================== is_lsp_basic_type 测试 ====================
static TestResult testIsLSPBasicInteger();
static TestResult testIsLSPBasicUInteger();
static TestResult testIsLSPBasicBoolean();
static TestResult testIsLSPBasicString();
static TestResult testIsLSPBasicDecimal();
static TestResult testIsLSPBasicNullptr();
static TestResult testIsLSPBasicNegativeCases();
// ==================== is_lsp_container_type 测试 ====================
static TestResult testIsLSPContainerObject();
static TestResult testIsLSPContainerArray();
static TestResult testIsLSPContainerAny();
static TestResult testIsLSPContainerNegativeCases();
// ==================== is_user_struct 测试 ====================
static TestResult testIsUserStructPositive();
static TestResult testIsUserStructExcludeArithmetic();
static TestResult testIsUserStructExcludeString();
static TestResult testIsUserStructExcludeLSPTypes();
static TestResult testIsUserStructExcludeVector();
static TestResult testIsUserStructExcludeMap();
static TestResult testIsUserStructExcludeOptional();
static TestResult testIsUserStructExcludeVariant();
static TestResult testIsUserStructExcludePointers();
};
}