/
dieoska
/
ddnet
Обзор
Документация
Войти
/
dieoska
/
ddnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/test/snapshot_test.cpp
87 строк
2 KB
ChillerDragon
Add test suffix
22 ноя 2025, 16:34
22 ноя 2025, 16:34
7b943a4
Код
Авторство
О чём код?
#include <base/system.h> #include <engine/shared/snapshot.h> #include <generated/protocol.h> #include <gtest/gtest.h> TEST(Snapshot, CrcOneInt) { CSnapshotBuilder Builder; Builder.Init(); CNetObj_Flag Flag; void *pItem = Builder.NewItem(CNetObj_Flag::ms_MsgId, 0, sizeof(Flag)); ASSERT_FALSE(pItem == nullptr); Flag.m_X = 4; Flag.m_Y = 0; Flag.m_Team = 0; mem_copy(pItem, &Flag, sizeof(Flag)); char aData[CSnapshot::MAX_SIZE]; CSnapshot *pSnapshot = (CSnapshot *)aData; Builder.Finish(pSnapshot); ASSERT_EQ(pSnapshot->Crc(), 4); } TEST(Snapshot, CrcTwoInts) { CSnapshotBuilder Builder; Builder.Init(); CNetObj_Flag Flag; void *pItem = Builder.NewItem(CNetObj_Flag::ms_MsgId, 0, sizeof(Flag)); ASSERT_FALSE(pItem == nullptr); Flag.m_X = 1; Flag.m_Y = 1; Flag.m_Team = 0; mem_copy(pItem, &Flag, sizeof(Flag)); char aData[CSnapshot::MAX_SIZE]; CSnapshot *pSnapshot = (CSnapshot *)aData; Builder.Finish(pSnapshot); ASSERT_EQ(pSnapshot->Crc(), 2); } TEST(Snapshot, CrcBiggerInts) { CSnapshotBuilder Builder; Builder.Init(); CNetObj_Flag Flag; void *pItem = Builder.NewItem(CNetObj_Flag::ms_MsgId, 0, sizeof(Flag)); ASSERT_FALSE(pItem == nullptr); Flag.m_X = 99999999; Flag.m_Y = 1; Flag.m_Team = 1; mem_copy(pItem, &Flag, sizeof(Flag)); char aData[CSnapshot::MAX_SIZE]; CSnapshot *pSnapshot = (CSnapshot *)aData; Builder.Finish(pSnapshot); ASSERT_EQ(pSnapshot->Crc(), 100000001); } TEST(Snapshot, CrcOverflow) { CSnapshotBuilder Builder; Builder.Init(); CNetObj_Flag Flag; void *pItem = Builder.NewItem(CNetObj_Flag::ms_MsgId, 0, sizeof(Flag)); ASSERT_FALSE(pItem == nullptr); Flag.m_X = 0xFFFFFFFF; Flag.m_Y = 1; Flag.m_Team = 1; mem_copy(pItem, &Flag, sizeof(Flag)); char aData[CSnapshot::MAX_SIZE]; CSnapshot *pSnapshot = (CSnapshot *)aData; Builder.Finish(pSnapshot); ASSERT_EQ(pSnapshot->Crc(), 1); }