Rework AssetContainer; adding references

This commit is contained in:
2026-02-14 12:26:26 +01:00
parent a21354b4b4
commit 45342a3555
8 changed files with 600 additions and 60 deletions

View File

@@ -16,7 +16,7 @@
#include <Utils/TargetMacros.h>
#include <EngineTests/BigFile/Asset/AssetA.hpp>
#include <EngineTests/BigFile/Asset/AssetA_generated.hpp>
#include <EngineTests/BigFile/Asset/AssetB.hpp>
#include <EngineTests/BigFileInfo_generated.hpp>
#include <gtest/gtest.h>
@@ -38,6 +38,7 @@ class BigFileFixture: public ::testing::Test
}
AssetAContainer m_assetAContainer;
AssetBContainer m_assetBContainer;
BIGFOOT_NOT_OPTIMIZED_ONLY(Singleton<Log>::Lifetime m_loggerLifetime;)
@@ -55,30 +56,42 @@ TEST_F(BigFileFixture, Lol)
FlatAssetWrapper<Flat::AssetA>::TypeName().size()));
UUID uuid;
std::ignore = m_assetAContainer.Add(uuid, "Instance");
std::ignore = m_assetAContainer.Add(uuid);
AssetA* test = m_assetAContainer.Get(uuid);
FlatAssetWrapper<Flat::AssetA> test {};
test.Asset().asset_header->name = "Instance";
test.Asset().asset_header->uuid = uuid;
test->Health() = 100;
test->Mana() = 42;
const eastl::vector<std::byte> flatBuffer = test.Pack();
const eastl::vector<std::byte> flatbuffer = m_assetAContainer.Pack(uuid);
m_assetAContainer.Remove(uuid);
std::ignore = m_assetAContainer.Load(uuid, flatBuffer);
m_assetAContainer.UnloadUnreferenced();
std::ignore = m_assetAContainer.Add(uuid, flatbuffer);
std::ignore = m_assetAContainer.Add(UUID {}, "Instance2");
std::ignore = m_assetAContainer.Add(UUID {}, "Instance3");
// UUID uuid;
// std::ignore = m_assetAContainer.Add(uuid, "Instance");
AssetA* test2 = m_assetAContainer.Get(uuid);
// AssetA* test = m_assetAContainer.Get(uuid);
EXPECT_EQ(test2->Health(), 100);
EXPECT_EQ(test2->Mana(), 42);
// test->Health() = 100;
// test->Mana() = 42;
EXPECT_STREQ(test2->AssetHeader()->name.c_str(), "Instance");
EXPECT_EQ(test2->AssetHeader()->type_id, FlatAssetWrapper<Flat::AssetA>::TypeID());
EXPECT_STREQ(test2->AssetHeader()->type_name.c_str(), FlatAssetWrapper<Flat::AssetA>::TypeName().data());
EXPECT_EQ(test2->AssetHeader()->uuid, uuid);
EXPECT_EQ(test2->AssetHeader()->version, 2);
// const eastl::vector<std::byte> flatbuffer = m_assetAContainer.Pack(uuid);
// m_assetAContainer.Remove(uuid);
// std::ignore = m_assetAContainer.Add(uuid, flatbuffer);
// std::ignore = m_assetAContainer.Add(UUID {}, "Instance2");
// std::ignore = m_assetAContainer.Add(UUID {}, "Instance3");
// AssetA* test2 = m_assetAContainer.Get(uuid);
// EXPECT_EQ(test2->Health(), 100);
// EXPECT_EQ(test2->Mana(), 42);
// EXPECT_STREQ(test2->AssetHeader()->name.c_str(), "Instance");
// EXPECT_EQ(test2->AssetHeader()->type_id, FlatAssetWrapper<Flat::AssetA>::TypeID());
// EXPECT_STREQ(test2->AssetHeader()->type_name.c_str(), FlatAssetWrapper<Flat::AssetA>::TypeName().data());
// EXPECT_EQ(test2->AssetHeader()->uuid, uuid);
// EXPECT_EQ(test2->AssetHeader()->version, 2);
}
UUID uuid;