From 177319438da7c9e46f484bfc78d88581e375d500 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 31 Aug 2025 16:59:56 +0000 Subject: [PATCH] Remove component tests and focus on network packet and mail bitstream tests Co-authored-by: aronwk-aaron <26027722+aronwk-aaron@users.noreply.github.com> --- .../ActivityComponentTests.cpp | 63 -------- .../dComponentsTests/BuffComponentTests.cpp | 50 ------ .../dComponentsTests/CMakeLists.txt | 17 +-- .../CharacterComponentTests.cpp | 108 ------------- .../ControllablePhysicsComponentTests.cpp | 143 ------------------ .../InventoryComponentTests.cpp | 76 ---------- .../QuickBuildComponentTests.cpp | 9 -- .../dComponentsTests/RenderComponentTests.cpp | 139 ----------------- .../dComponentsTests/ScriptComponentTests.cpp | 56 ------- .../dComponentsTests/SkillComponentTests.cpp | 60 -------- .../dComponentsTests/VendorComponentTests.cpp | 9 -- 11 files changed, 4 insertions(+), 726 deletions(-) delete mode 100644 tests/dGameTests/dComponentsTests/ActivityComponentTests.cpp delete mode 100644 tests/dGameTests/dComponentsTests/BuffComponentTests.cpp delete mode 100644 tests/dGameTests/dComponentsTests/CharacterComponentTests.cpp delete mode 100644 tests/dGameTests/dComponentsTests/ControllablePhysicsComponentTests.cpp delete mode 100644 tests/dGameTests/dComponentsTests/InventoryComponentTests.cpp delete mode 100644 tests/dGameTests/dComponentsTests/QuickBuildComponentTests.cpp delete mode 100644 tests/dGameTests/dComponentsTests/RenderComponentTests.cpp delete mode 100644 tests/dGameTests/dComponentsTests/ScriptComponentTests.cpp delete mode 100644 tests/dGameTests/dComponentsTests/SkillComponentTests.cpp delete mode 100644 tests/dGameTests/dComponentsTests/VendorComponentTests.cpp diff --git a/tests/dGameTests/dComponentsTests/ActivityComponentTests.cpp b/tests/dGameTests/dComponentsTests/ActivityComponentTests.cpp deleted file mode 100644 index bd2533e6..00000000 --- a/tests/dGameTests/dComponentsTests/ActivityComponentTests.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include "GameDependencies.h" -#include - -#include "BitStream.h" -#include "ScriptedActivityComponent.h" -#include "Entity.h" -#include "eReplicaComponentType.h" -#include "eStateChangeType.h" - -class ActivityComponentTest : public GameDependenciesTest { -protected: - std::unique_ptr baseEntity; - ActivityComponent* activityComponent; - CBITSTREAM; - - void SetUp() override { - SetUpDependencies(); - baseEntity = std::make_unique(15, GameDependenciesTest::info); - activityComponent = baseEntity->AddComponent(1); // Needs activityId - } - - void TearDown() override { - TearDownDependencies(); - } -}; - -TEST_F(ActivityComponentTest, ActivityComponentSerializeInitialEmptyTest) { - activityComponent->Serialize(bitStream, true); - - // Should write dirty activity info flag - bool dirtyActivityInfo = false; - bitStream.Read(dirtyActivityInfo); - // Activity info should be dirty on initial serialize - ASSERT_TRUE(dirtyActivityInfo); - - if (dirtyActivityInfo) { - uint32_t playerCount; - bitStream.Read(playerCount); - ASSERT_EQ(playerCount, 0); // Should be empty initially - } -} - -TEST_F(ActivityComponentTest, ActivityComponentSerializeUpdateTest) { - // Test non-initial update serialization produces some data - activityComponent->Serialize(bitStream, false); - - // Should produce some bitstream output for update serialization - EXPECT_GT(bitStream.GetNumberOfBitsUsed(), 0); -} - - - -TEST_F(ActivityComponentTest, ActivityComponentBasicAPITest) { - // Test basic API methods - // Activity ID can be -1 for invalid activities, this is valid behavior - // So just test that the component responds without crashing - auto activityID = activityComponent->GetActivityID(); - EXPECT_TRUE(activityID >= -1); // -1 is a valid "no activity" state - - // Test activity players list (should be empty initially) - auto players = activityComponent->GetActivityPlayers(); - ASSERT_TRUE(players.empty()); -} \ No newline at end of file diff --git a/tests/dGameTests/dComponentsTests/BuffComponentTests.cpp b/tests/dGameTests/dComponentsTests/BuffComponentTests.cpp deleted file mode 100644 index 3546cf84..00000000 --- a/tests/dGameTests/dComponentsTests/BuffComponentTests.cpp +++ /dev/null @@ -1,50 +0,0 @@ -#include "GameDependencies.h" -#include - -#include "BitStream.h" -#include "BuffComponent.h" -#include "Entity.h" -#include "eReplicaComponentType.h" - -class BuffComponentTest : public GameDependenciesTest { -protected: - Entity* baseEntity; - BuffComponent* buffComponent; - CBITSTREAM - uint32_t flags = 0; - - void SetUp() override { - SetUpDependencies(); - baseEntity = new Entity(15, GameDependenciesTest::info); - buffComponent = baseEntity->AddComponent(); - } - - void TearDown() override { - delete baseEntity; - TearDownDependencies(); - } -}; - -/** - * Test Construction serialization of a BuffComponent with no buffs - */ -TEST_F(BuffComponentTest, BuffComponentSerializeTest) { - // Test construction serialization (empty buffs) - buffComponent->Serialize(bitStream, true); - - { - bool hasBuffs; - bitStream.Read(hasBuffs); - EXPECT_FALSE(hasBuffs); - - bool immunityBuffs; - bitStream.Read(immunityBuffs); - EXPECT_FALSE(immunityBuffs); // Always false according to code - } - bitStream.Reset(); - - // Test update serialization (should write nothing) - buffComponent->Serialize(bitStream, false); - EXPECT_EQ(bitStream.GetNumberOfBitsUsed(), 0); -} - diff --git a/tests/dGameTests/dComponentsTests/CMakeLists.txt b/tests/dGameTests/dComponentsTests/CMakeLists.txt index e8e73bad..4d797403 100644 --- a/tests/dGameTests/dComponentsTests/CMakeLists.txt +++ b/tests/dGameTests/dComponentsTests/CMakeLists.txt @@ -1,17 +1,8 @@ set(DCOMPONENTS_TESTS - "DestroyableComponentTests.cpp" - "PetComponentTests.cpp" - "SimplePhysicsComponentTests.cpp" - "SavingTests.cpp" - "CharacterComponentTests.cpp" - "InventoryComponentTests.cpp" - "ControllablePhysicsComponentTests.cpp" - "SkillComponentTests.cpp" - "BuffComponentTests.cpp" - "QuickBuildComponentTests.cpp" - "VendorComponentTests.cpp" - "RenderComponentTests.cpp" - "ActivityComponentTests.cpp" + "DestroyableComponentTests.cpp" + "PetComponentTests.cpp" + "SimplePhysicsComponentTests.cpp" + "SavingTests.cpp" ) # Get the folder name and prepend it to the files above diff --git a/tests/dGameTests/dComponentsTests/CharacterComponentTests.cpp b/tests/dGameTests/dComponentsTests/CharacterComponentTests.cpp deleted file mode 100644 index b3d7f4b3..00000000 --- a/tests/dGameTests/dComponentsTests/CharacterComponentTests.cpp +++ /dev/null @@ -1,108 +0,0 @@ -#include "GameDependencies.h" -#include - -#include "BitStream.h" -#include "CharacterComponent.h" -#include "Entity.h" -#include "Character.h" -#include "User.h" -#include "eReplicaComponentType.h" -#include "eGameActivity.h" - -class CharacterComponentTest : public GameDependenciesTest { -protected: - Entity* baseEntity; - CharacterComponent* characterComponent; - std::unique_ptr character; - std::unique_ptr user; - CBITSTREAM - uint32_t flags = 0; - - void SetUp() override { - SetUpDependencies(); - - // Create a mock user and character - user = std::make_unique(UNASSIGNED_SYSTEM_ADDRESS, "", "TestUser"); - - character = std::make_unique(1, user.get()); - character->SetHairColor(5); - character->SetHairStyle(10); - character->SetShirtColor(15); - character->SetPantsColor(20); - character->SetShirtStyle(25); - character->SetEyebrows(3); - character->SetEyes(7); - character->SetMouth(9); - - baseEntity = new Entity(15, GameDependenciesTest::info); - characterComponent = baseEntity->AddComponent(character.get(), UNASSIGNED_SYSTEM_ADDRESS); - - // Set some test values using available setter methods - characterComponent->SetUScore(12345); - characterComponent->SetCurrentActivity(eGameActivity::QUICKBUILDING); - characterComponent->SetReputation(6789); - characterComponent->SetPvpEnabled(true); - characterComponent->SetLastRocketConfig(u"test,rocket,config"); - - // Update some statistics using the UpdatePlayerStatistic method - characterComponent->UpdatePlayerStatistic(StatisticID::CurrencyCollected, 100); - characterComponent->UpdatePlayerStatistic(StatisticID::BricksCollected, 200); - characterComponent->UpdatePlayerStatistic(StatisticID::SmashablesSmashed, 50); - characterComponent->UpdatePlayerStatistic(StatisticID::QuickBuildsCompleted, 25); - characterComponent->UpdatePlayerStatistic(StatisticID::EnemiesSmashed, 75); - } - - void TearDown() override { - delete baseEntity; - TearDownDependencies(); - } -}; - -/** - * Test Construction of a CharacterComponent - */ -TEST_F(CharacterComponentTest, CharacterComponentSerializeConstructionTest) { - characterComponent->Serialize(bitStream, true); - - // Basic check that construction serialization produces data - EXPECT_GT(bitStream.GetNumberOfBitsUsed(), 0); - - // Basic structure validation - should be able to read claim codes flags - bool hasClaimCode0 = false, hasClaimCode1 = false, hasClaimCode2 = false, hasClaimCode3 = false; - bitStream.Read(hasClaimCode0); - bitStream.Read(hasClaimCode1); - bitStream.Read(hasClaimCode2); - bitStream.Read(hasClaimCode3); - - // All claim codes should be false by default - EXPECT_FALSE(hasClaimCode0); - EXPECT_FALSE(hasClaimCode1); - EXPECT_FALSE(hasClaimCode2); - EXPECT_FALSE(hasClaimCode3); - - bitStream.Reset(); -} - -/** - * Test serialization of a CharacterComponent update - */ -TEST_F(CharacterComponentTest, CharacterComponentSerializeUpdateTest) { - // Test non-initial update serialization - characterComponent->Serialize(bitStream, false); - - // Basic check that update serialization produces data - EXPECT_GT(bitStream.GetNumberOfBitsUsed(), 0); - - // Should serialize flags for different update types - bool hasGMInfo = false, hasCurrentActivity = false, hasSocialInfo = false; - bitStream.Read(hasGMInfo); - bitStream.Read(hasCurrentActivity); - bitStream.Read(hasSocialInfo); - - // Verify the flags reflect our changes - we set PVP and current activity - EXPECT_TRUE(hasGMInfo); // PVP was enabled in setup - EXPECT_TRUE(hasCurrentActivity); // Current activity was set in setup - EXPECT_FALSE(hasSocialInfo); // Not modified in our setup - - bitStream.Reset(); -} \ No newline at end of file diff --git a/tests/dGameTests/dComponentsTests/ControllablePhysicsComponentTests.cpp b/tests/dGameTests/dComponentsTests/ControllablePhysicsComponentTests.cpp deleted file mode 100644 index 996fd541..00000000 --- a/tests/dGameTests/dComponentsTests/ControllablePhysicsComponentTests.cpp +++ /dev/null @@ -1,143 +0,0 @@ -#include "GameDependencies.h" -#include - -#include "BitStream.h" -#include "ControllablePhysicsComponent.h" -#include "Entity.h" -#include "eReplicaComponentType.h" -#include "eStateChangeType.h" -#include "NiPoint3.h" -#include "NiQuaternion.h" - -class ControllablePhysicsComponentTest : public GameDependenciesTest { -protected: - std::unique_ptr baseEntity; - ControllablePhysicsComponent* physicsComponent; - CBITSTREAM; - - void SetUp() override { - SetUpDependencies(); - baseEntity = std::make_unique(15, GameDependenciesTest::info); - physicsComponent = baseEntity->AddComponent(1); // Needs componentId - - // Set some test values - physicsComponent->SetPosition(NiPoint3(100.0f, 200.0f, 300.0f)); - physicsComponent->SetRotation(NiQuaternion(0.5f, 0.5f, 0.5f, 0.5f)); - physicsComponent->SetVelocity(NiPoint3(10.0f, 20.0f, 30.0f)); - physicsComponent->SetAngularVelocity(NiPoint3(1.0f, 2.0f, 3.0f)); - physicsComponent->SetIsOnGround(true); - physicsComponent->SetIsOnRail(false); - } - - void TearDown() override { - TearDownDependencies(); - } -}; - -TEST_F(ControllablePhysicsComponentTest, ControllablePhysicsSerializeInitialTest) { - physicsComponent->Serialize(bitStream, true); - - // Read jetpack mode info - bool inJetpackMode; - bitStream.Read(inJetpackMode); - ASSERT_FALSE(inJetpackMode); // Default should be false - - // Should always write stun immunity data on construction - bool hasStunImmunityData; - bitStream.Read(hasStunImmunityData); - ASSERT_TRUE(hasStunImmunityData); - - uint32_t immuneToStunMoveCount, immuneToStunJumpCount, immuneToStunTurnCount; - uint32_t immuneToStunAttackCount, immuneToStunUseItemCount, immuneToStunEquipCount; - uint32_t immuneToStunInteractCount; - - bitStream.Read(immuneToStunMoveCount); - bitStream.Read(immuneToStunJumpCount); - bitStream.Read(immuneToStunTurnCount); - bitStream.Read(immuneToStunAttackCount); - bitStream.Read(immuneToStunUseItemCount); - bitStream.Read(immuneToStunEquipCount); - bitStream.Read(immuneToStunInteractCount); - - // Default values should be 0 - ASSERT_EQ(immuneToStunMoveCount, 0); - ASSERT_EQ(immuneToStunJumpCount, 0); - ASSERT_EQ(immuneToStunTurnCount, 0); - ASSERT_EQ(immuneToStunAttackCount, 0); - ASSERT_EQ(immuneToStunUseItemCount, 0); - ASSERT_EQ(immuneToStunEquipCount, 0); - ASSERT_EQ(immuneToStunInteractCount, 0); -} - -TEST_F(ControllablePhysicsComponentTest, ControllablePhysicsJetpackSerializationTest) { - // Test jetpack mode serialization - physicsComponent->SetInJetpackMode(true); - physicsComponent->SetJetpackEffectID(12345); - physicsComponent->SetJetpackFlying(true); - physicsComponent->SetJetpackBypassChecks(false); - - physicsComponent->Serialize(bitStream, true); - - bool inJetpackMode; - bitStream.Read(inJetpackMode); - ASSERT_TRUE(inJetpackMode); - - int32_t jetpackEffectID; - bool jetpackFlying, jetpackBypassChecks; - bitStream.Read(jetpackEffectID); - bitStream.Read(jetpackFlying); - bitStream.Read(jetpackBypassChecks); - - ASSERT_EQ(jetpackEffectID, 12345); - ASSERT_TRUE(jetpackFlying); - ASSERT_FALSE(jetpackBypassChecks); -} - -TEST_F(ControllablePhysicsComponentTest, ControllablePhysicsStunImmunityTest) { - // Test stun immunity serialization - physicsComponent->SetStunImmunity(eStateChangeType::PUSH, 5); - // Note: PULL may not be available, using another valid type - physicsComponent->SetStunImmunity(eStateChangeType::POP, 3); - - physicsComponent->Serialize(bitStream, true); - - // Skip jetpack data - bool inJetpackMode; - bitStream.Read(inJetpackMode); - - bool hasStunImmunityData; - bitStream.Read(hasStunImmunityData); - ASSERT_TRUE(hasStunImmunityData); - - uint32_t immuneToStunMoveCount, immuneToStunJumpCount, immuneToStunTurnCount; - uint32_t immuneToStunAttackCount, immuneToStunUseItemCount, immuneToStunEquipCount; - uint32_t immuneToStunInteractCount; - - bitStream.Read(immuneToStunMoveCount); - bitStream.Read(immuneToStunJumpCount); - bitStream.Read(immuneToStunTurnCount); - bitStream.Read(immuneToStunAttackCount); - bitStream.Read(immuneToStunUseItemCount); - bitStream.Read(immuneToStunEquipCount); - bitStream.Read(immuneToStunInteractCount); - - // Values should reflect the set immunities - // Note: The actual mapping depends on implementation - ASSERT_GE(immuneToStunMoveCount + immuneToStunJumpCount + immuneToStunTurnCount + - immuneToStunAttackCount + immuneToStunUseItemCount + immuneToStunEquipCount + - immuneToStunInteractCount, 0); -} - -TEST_F(ControllablePhysicsComponentTest, ControllablePhysicsSerializeUpdateTest) { - // Test non-initial update serialization - physicsComponent->Serialize(bitStream, false); - - // Should check for various dirty flags - bool hasPositionUpdate, hasVelocityUpdate, hasAngularVelocityUpdate; - bool hasBouncePathing, hasRotationUpdate; - - // The exact structure depends on what's dirty - // For now, just verify that serialization doesn't crash - ASSERT_GE(bitStream.GetNumberOfBitsUsed(), 0); -} - diff --git a/tests/dGameTests/dComponentsTests/InventoryComponentTests.cpp b/tests/dGameTests/dComponentsTests/InventoryComponentTests.cpp deleted file mode 100644 index 1a944f26..00000000 --- a/tests/dGameTests/dComponentsTests/InventoryComponentTests.cpp +++ /dev/null @@ -1,76 +0,0 @@ -#include "GameDependencies.h" -#include - -#include "BitStream.h" -#include "InventoryComponent.h" -#include "Entity.h" -#include "eReplicaComponentType.h" -#include "eStateChangeType.h" -#include "Item.h" - -class InventoryComponentTest : public GameDependenciesTest { -protected: - std::unique_ptr baseEntity; - InventoryComponent* inventoryComponent; - CBITSTREAM; - - void SetUp() override { - SetUpDependencies(); - baseEntity = std::make_unique(15, GameDependenciesTest::info); - inventoryComponent = baseEntity->AddComponent(); - } - - void TearDown() override { - TearDownDependencies(); - } -}; - -TEST_F(InventoryComponentTest, InventoryComponentSerializeInitialTest) { - // Test empty inventory serialization - inventoryComponent->Serialize(bitStream, true); - - bool hasUpdates; - bitStream.Read(hasUpdates); - ASSERT_TRUE(hasUpdates); // Should always have updates on initial serialize - - uint32_t equippedItemCount; - bitStream.Read(equippedItemCount); - ASSERT_EQ(equippedItemCount, 0); // No equipped items initially -} - -TEST_F(InventoryComponentTest, InventoryComponentSerializeEquippedItemsTest) { - // Test serialization with initial state (no equipped items) - inventoryComponent->Serialize(bitStream, true); - - bool hasUpdates; - bitStream.Read(hasUpdates); - ASSERT_TRUE(hasUpdates); // Should always have updates on initial serialize - - uint32_t equippedItemCount; - bitStream.Read(equippedItemCount); - ASSERT_EQ(equippedItemCount, 0); // No equipped items initially for LOT 1 -} - -TEST_F(InventoryComponentTest, InventoryComponentSerializeUpdateTest) { - // Test that initial serialization returns expected structure - inventoryComponent->Serialize(bitStream, true); - - bool hasUpdates; - bitStream.Read(hasUpdates); - ASSERT_TRUE(hasUpdates); // Initial serialization should have updates - - uint32_t equippedItemCount; - bitStream.Read(equippedItemCount); - ASSERT_EQ(equippedItemCount, 0); // No equipped items initially -} - -TEST_F(InventoryComponentTest, InventoryComponentDirtyFlagTest) { - // Test initial state serialization - inventoryComponent->Serialize(bitStream, false); - - bool hasUpdates; - bitStream.Read(hasUpdates); - // May or may not have updates initially depending on implementation - ASSERT_TRUE(hasUpdates || !hasUpdates); // Either state is valid -} - diff --git a/tests/dGameTests/dComponentsTests/QuickBuildComponentTests.cpp b/tests/dGameTests/dComponentsTests/QuickBuildComponentTests.cpp deleted file mode 100644 index 9e427336..00000000 --- a/tests/dGameTests/dComponentsTests/QuickBuildComponentTests.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include - -// Simple test that verifies QuickBuildComponent header inclusion -// The actual QuickBuildComponent requires complex database dependencies -// that are not suitable for unit testing without a full CDClient database -TEST(QuickBuildComponentTest, QuickBuildComponentHeaderInclusionTest) { - // Test that the header can be included without compilation errors - ASSERT_TRUE(true); -} \ No newline at end of file diff --git a/tests/dGameTests/dComponentsTests/RenderComponentTests.cpp b/tests/dGameTests/dComponentsTests/RenderComponentTests.cpp deleted file mode 100644 index d6e96739..00000000 --- a/tests/dGameTests/dComponentsTests/RenderComponentTests.cpp +++ /dev/null @@ -1,139 +0,0 @@ -#include "GameDependencies.h" -#include - -#include "BitStream.h" -#include "RenderComponent.h" -#include "Entity.h" -#include "eReplicaComponentType.h" -#include "eStateChangeType.h" - -class RenderComponentTest : public GameDependenciesTest { -protected: - std::unique_ptr baseEntity; - RenderComponent* renderComponent; - CBITSTREAM; - - void SetUp() override { - SetUpDependencies(); - baseEntity = std::make_unique(15, GameDependenciesTest::info); - renderComponent = baseEntity->AddComponent(); - } - - void TearDown() override { - TearDownDependencies(); - } -}; - -TEST_F(RenderComponentTest, RenderComponentSerializeInitialEmptyTest) { - renderComponent->Serialize(bitStream, true); - - // Should write effects count (0 for empty) - uint32_t effectsCount; - bitStream.Read(effectsCount); - ASSERT_EQ(effectsCount, 0); - - // That should be all for empty effects - ASSERT_EQ(bitStream.GetNumberOfBitsUsed(), 32); // 32 bits for uint32_t -} - -TEST_F(RenderComponentTest, RenderComponentSerializeUpdateTest) { - // Non-initial updates should not write anything - renderComponent->Serialize(bitStream, false); - ASSERT_EQ(bitStream.GetNumberOfBitsUsed(), 0); -} - -TEST_F(RenderComponentTest, RenderComponentAddEffectTest) { - // Add an effect and test serialization - renderComponent->AddEffect(123, "test_effect", u"fire", 1.0f); - - renderComponent->Serialize(bitStream, true); - - uint32_t effectsCount; - bitStream.Read(effectsCount); - ASSERT_EQ(effectsCount, 1); - - // Read effect name - uint8_t nameSize; - bitStream.Read(nameSize); - ASSERT_EQ(nameSize, 11); // "test_effect" length - - std::string effectName; - for (int i = 0; i < nameSize; i++) { - uint8_t ch; - bitStream.Read(ch); - effectName += static_cast(ch); - } - ASSERT_EQ(effectName, "test_effect"); - - // Read effect ID - int32_t effectID; - bitStream.Read(effectID); - ASSERT_EQ(effectID, 123); - - // Read effect type - uint8_t typeSize; - bitStream.Read(typeSize); - ASSERT_EQ(typeSize, 4); // "fire" length - - std::string effectType; - for (int i = 0; i < typeSize; i++) { - uint16_t ch; - bitStream.Read(ch); - effectType += static_cast(ch); - } - ASSERT_EQ(effectType, "fire"); - - // Read priority and secondary - float priority; - int64_t secondary; - bitStream.Read(priority); - bitStream.Read(secondary); - - ASSERT_EQ(priority, 1.0f); // Default priority - ASSERT_EQ(secondary, 0); // Default secondary -} - -TEST_F(RenderComponentTest, RenderComponentMultipleEffectsTest) { - // Add multiple effects - renderComponent->AddEffect(100, "effect1", u"water", 1.0f); - renderComponent->AddEffect(200, "effect2", u"earth", 1.0f); - - renderComponent->Serialize(bitStream, true); - - uint32_t effectsCount; - bitStream.Read(effectsCount); - ASSERT_EQ(effectsCount, 2); - - // Just verify we can read both effects without crashing - for (uint32_t i = 0; i < effectsCount; i++) { - uint8_t nameSize; - bitStream.Read(nameSize); - - if (nameSize > 0) { - // Skip name bytes - for (int j = 0; j < nameSize; j++) { - uint8_t ch; - bitStream.Read(ch); - } - - int32_t effectID; - bitStream.Read(effectID); - ASSERT_TRUE(effectID == 100 || effectID == 200); - - uint8_t typeSize; - bitStream.Read(typeSize); - - // Skip type bytes - for (int j = 0; j < typeSize; j++) { - uint16_t ch; - bitStream.Read(ch); - } - - float priority; - int64_t secondary; - bitStream.Read(priority); - bitStream.Read(secondary); - } - } -} - diff --git a/tests/dGameTests/dComponentsTests/ScriptComponentTests.cpp b/tests/dGameTests/dComponentsTests/ScriptComponentTests.cpp deleted file mode 100644 index a26fca90..00000000 --- a/tests/dGameTests/dComponentsTests/ScriptComponentTests.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#include "GameDependencies.h" -#include - -#include "BitStream.h" -#include "ScriptComponent.h" -#include "Entity.h" -#include "eReplicaComponentType.h" -#include "eStateChangeType.h" - -class ScriptComponentTest : public GameDependenciesTest { -protected: - std::unique_ptr baseEntity; - ScriptComponent* scriptComponent; - CBITSTREAM; - - void SetUp() override { - SetUpDependencies(); - baseEntity = std::make_unique(15, GameDependenciesTest::info); - scriptComponent = baseEntity->AddComponent(); - } - - void TearDown() override { - TearDownDependencies(); - } -}; - -TEST_F(ScriptComponentTest, ScriptComponentSerializeInitialEmptyTest) { - scriptComponent->Serialize(bitStream, true); - - // Should write network settings flag (false for empty) - bool hasNetworkSettings; - bitStream.Read(hasNetworkSettings); - ASSERT_FALSE(hasNetworkSettings); - - // That should be all for empty network settings - ASSERT_EQ(bitStream.GetNumberOfBitsUsed(), 1); -} - -TEST_F(ScriptComponentTest, ScriptComponentSerializeUpdateTest) { - // Non-initial updates should not write anything for ScriptComponent - scriptComponent->Serialize(bitStream, false); - ASSERT_EQ(bitStream.GetNumberOfBitsUsed(), 0); -} - - - -TEST_F(ScriptComponentTest, ScriptComponentSerializedFlagTest) { - // Test the serialized flag functionality - ASSERT_FALSE(scriptComponent->GetSerialized()); - - scriptComponent->SetSerialized(true); - ASSERT_TRUE(scriptComponent->GetSerialized()); - - scriptComponent->SetSerialized(false); - ASSERT_FALSE(scriptComponent->GetSerialized()); -} \ No newline at end of file diff --git a/tests/dGameTests/dComponentsTests/SkillComponentTests.cpp b/tests/dGameTests/dComponentsTests/SkillComponentTests.cpp deleted file mode 100644 index 52f89679..00000000 --- a/tests/dGameTests/dComponentsTests/SkillComponentTests.cpp +++ /dev/null @@ -1,60 +0,0 @@ -#include "GameDependencies.h" -#include - -#include "BitStream.h" -#include "SkillComponent.h" -#include "Entity.h" -#include "eReplicaComponentType.h" -#include "eStateChangeType.h" - -class SkillComponentTest : public GameDependenciesTest { -protected: - std::unique_ptr baseEntity; - SkillComponent* skillComponent; - CBITSTREAM; - - void SetUp() override { - SetUpDependencies(); - baseEntity = std::make_unique(15, GameDependenciesTest::info); - skillComponent = baseEntity->AddComponent(); - } - - void TearDown() override { - TearDownDependencies(); - } -}; - -TEST_F(SkillComponentTest, SkillComponentSerializeInitialTest) { - skillComponent->Serialize(bitStream, true); - - // SkillComponent just writes a 0 bit on initial update - bool hasSkillData; - bitStream.Read(hasSkillData); - ASSERT_FALSE(hasSkillData); // Should write 0 - - // Verify that's all that's written - ASSERT_EQ(bitStream.GetNumberOfBitsUsed(), 1); -} - -TEST_F(SkillComponentTest, SkillComponentSerializeUpdateTest) { - skillComponent->Serialize(bitStream, false); - - // Non-initial updates should not write anything for SkillComponent - ASSERT_EQ(bitStream.GetNumberOfBitsUsed(), 0); -} - - -TEST_F(SkillComponentTest, SkillComponentUniqueIdTest) { - // Test unique skill ID generation - uint32_t id1 = skillComponent->GetUniqueSkillId(); - uint32_t id2 = skillComponent->GetUniqueSkillId(); - uint32_t id3 = skillComponent->GetUniqueSkillId(); - - ASSERT_NE(id1, id2); - ASSERT_NE(id2, id3); - ASSERT_NE(id1, id3); - - // Should be sequential - ASSERT_EQ(id2, id1 + 1); - ASSERT_EQ(id3, id2 + 1); -} \ No newline at end of file diff --git a/tests/dGameTests/dComponentsTests/VendorComponentTests.cpp b/tests/dGameTests/dComponentsTests/VendorComponentTests.cpp deleted file mode 100644 index 6a1b75e8..00000000 --- a/tests/dGameTests/dComponentsTests/VendorComponentTests.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include - -// Simple test that verifies VendorComponent header inclusion -// The actual VendorComponent requires complex database dependencies -// that are not suitable for unit testing without a full CDClient database -TEST(VendorComponentTest, VendorComponentHeaderInclusionTest) { - // Test that the header can be included without compilation errors - ASSERT_TRUE(true); -} \ No newline at end of file