暂存文件

This commit is contained in:
huanglinhuan
2025-12-12 21:54:52 +08:00
parent 96fecf3c6f
commit 91ae52eeb3
13 changed files with 631 additions and 85 deletions

33
tests/CMakeLists.txt Normal file
View File

@@ -0,0 +1,33 @@
# 测试目录 CMakeLists.txt
if(NOT BUILD_TESTS)
return()
endif()
message(STATUS "Configuring tests")
# 测试源文件目录
set(TEST_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
# 示例测试:网络接口测试
add_displayflow_test(
test_network_interface
${TEST_SOURCE_DIR}/network/test_network_interface.cpp
)
# 示例测试:会话管理测试
add_displayflow_test(
test_session_manager
${TEST_SOURCE_DIR}/session/test_session_manager.cpp
)
# 示例测试:文件传输测试
add_displayflow_test(
test_file_transfer
${TEST_SOURCE_DIR}/file_transfer/test_file_transfer.cpp
)
# 可以添加更多测试...

View File

@@ -0,0 +1,26 @@
#include <gtest/gtest.h>
#include "displayflow/core/file_transfer/file_transfer_manager.h"
using namespace displayflow::core;
class FileTransferTest : public ::testing::Test {
protected:
void SetUp() override {
manager_ = std::make_shared<FileTransferManager>();
}
void TearDown() override {
manager_.reset();
}
std::shared_ptr<FileTransferManager> manager_;
};
TEST_F(FileTransferTest, FileTransferManagerCreation) {
ASSERT_NE(manager_, nullptr);
}
// 添加更多测试...

View File

@@ -0,0 +1,34 @@
#include <gtest/gtest.h>
#include "displayflow/core/network/network_interface.h"
using namespace displayflow::core;
class NetworkInterfaceTest : public ::testing::Test {
protected:
void SetUp() override {
// 测试前准备
}
void TearDown() override {
// 测试后清理
}
};
TEST_F(NetworkInterfaceTest, NetworkInterfaceCreation) {
NetworkInterface interface;
interface.type = NetworkType::WiFi;
interface.name = "wlan0";
interface.address = "192.168.1.100";
interface.port = 8888;
interface.isAvailable = true;
EXPECT_EQ(interface.type, NetworkType::WiFi);
EXPECT_EQ(interface.name, "wlan0");
EXPECT_EQ(interface.address, "192.168.1.100");
EXPECT_TRUE(interface.isAvailable);
}
// 添加更多测试...

View File

@@ -0,0 +1,38 @@
#include <gtest/gtest.h>
#include "displayflow/core/session/session_manager.h"
using namespace displayflow::core;
class SessionManagerTest : public ::testing::Test {
protected:
void SetUp() override {
manager_ = std::make_shared<SessionManager>();
}
void TearDown() override {
manager_.reset();
}
std::shared_ptr<SessionManager> manager_;
};
TEST_F(SessionManagerTest, CreateSession) {
auto session = manager_->CreateSession(RoleType::Host);
ASSERT_NE(session, nullptr);
EXPECT_EQ(session->GetRole(), RoleType::Host);
}
TEST_F(SessionManagerTest, GetSession) {
auto session = manager_->CreateSession(RoleType::Client);
ASSERT_NE(session, nullptr);
SessionId id = session->GetId();
auto retrieved = manager_->GetSession(id);
ASSERT_NE(retrieved, nullptr);
EXPECT_EQ(retrieved->GetId(), id);
}
// 添加更多测试...