40 lines
1.5 KiB
C++
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();
|
|
};
|
|
}
|