BigFile/Sasquatch #1

Merged
rboullard merged 100 commits from BigFile into Development 2026-09-01 16:32:02 +00:00
3 changed files with 40 additions and 8 deletions
Showing only changes of commit 39d2ddbe49 - Show all commits
@@ -146,9 +146,9 @@ class AssetContainerBase
* \return A ContainerHandle for the UUID
*/
[[nodiscard]]
ContainerHandle& AcquireContainerHandle(const UUID& p_uuid)
ContainerHandle* AcquireContainerHandle(const UUID& p_uuid)
{
return *m_handles.Get(GetOrCreateEntry(p_uuid).m_handleSlotKey);
return m_handles.Get(GetOrCreateEntry(p_uuid).m_handleSlotKey);
}
/*
@@ -116,7 +116,7 @@ class HardReference
{
if (!m_handle)
{
m_handle = &assetContainer->AcquireContainerHandle(m_uuid);
m_handle = assetContainer->AcquireContainerHandle(m_uuid);
}
m_handle->IncrementSoftRefCount();
}
@@ -234,7 +234,7 @@ class SoftReference
{
if (!m_handle)
{
m_handle = &assetContainer->AcquireContainerHandle(m_uuid);
m_handle = assetContainer->AcquireContainerHandle(m_uuid);
}
m_handle->IncrementSoftRefCount();
}
+36 -4
View File
@@ -11,6 +11,38 @@
namespace Bigfoot
{
class ContainerHandleFixture: public ::testing::Test
{
protected:
void SetUp() override
{
std::ignore = m_containerA.Insert(m_asset);
m_handle = m_containerA.AcquireContainerHandle(m_asset.GetHeader().uuid);
}
AssetA m_asset;
AssetContainer<AssetA> m_containerA;
ContainerHandle* m_handle;
};
/****************************************************************************************/
TEST_F(ContainerHandleFixture, GetAsset_ShouldReturnTheAsset)
{
EXPECT_NE(m_handle->GetAsset(), nullptr);
}
/****************************************************************************************/
TEST_F(ContainerHandleFixture, GetAsset_ShouldReturnNullptrIfTheAssetHasBeenRemoved)
{
m_containerA.Remove(m_asset.GetHeader().uuid);
EXPECT_EQ(m_handle->GetAsset(), nullptr);
}
/****************************************************************************************/
class AssetContainerFixture: public ::testing::Test
{
protected:
@@ -41,8 +73,8 @@ TEST_F(AssetContainerFixture, AcquireHandle_ShouldReturnTheAssociatedContainerHa
AssetA asset1;
std::ignore = m_containerA.Insert(asset1);
const ContainerHandle& handle = m_containerA.AcquireContainerHandle(asset1.GetHeader().uuid);
EXPECT_EQ(static_cast<const AssetA*>(handle.GetAsset())->GetHeader().uuid, asset1.GetHeader().uuid);
const ContainerHandle* handle = m_containerA.AcquireContainerHandle(asset1.GetHeader().uuid);
EXPECT_EQ(static_cast<const AssetA*>(handle->GetAsset())->GetHeader().uuid, asset1.GetHeader().uuid);
}
/****************************************************************************************/
@@ -51,8 +83,8 @@ TEST_F(AssetContainerFixture, AcquireHandle_ShouldCreateTheAssociatedContainerHa
{
AssetA asset1;
const ContainerHandle& handle = m_containerA.AcquireContainerHandle(asset1.GetHeader().uuid);
EXPECT_EQ(handle.GetAsset(), nullptr);
const ContainerHandle* handle = m_containerA.AcquireContainerHandle(asset1.GetHeader().uuid);
EXPECT_EQ(handle->GetAsset(), nullptr);
}
/****************************************************************************************/