chore: fix test compilation

This commit is contained in:
Jan
2024-12-31 12:38:22 +01:00
parent 83d13aa166
commit 692c31b711
8 changed files with 60 additions and 148 deletions

View File

@ -1,57 +0,0 @@
#include "MockAssetLoadingManager.h"
MockAssetLoadingManager::MockAssetLoadingManager(Zone& zone, ISearchPath& searchPath)
: m_zone(zone),
m_mock_gdt(std::make_unique<Gdt>()),
m_context(std::make_unique<AssetLoadingContext>(zone, searchPath, std::vector({m_mock_gdt.get()})))
{
}
AssetLoadingContext* MockAssetLoadingManager::GetAssetLoadingContext() const
{
return m_context.get();
}
XAssetInfoGeneric* MockAssetLoadingManager::AddAsset(std::unique_ptr<XAssetInfoGeneric> xAssetInfo)
{
const auto assetInfoPtr = xAssetInfo.get();
m_added_assets.emplace(std::make_pair(xAssetInfo->m_name, std::move(xAssetInfo)));
return assetInfoPtr;
}
XAssetInfoGeneric* MockAssetLoadingManager::LoadDependency(const asset_type_t assetType, const std::string& assetName)
{
auto foundDependencies = m_available_dependencies.find(assetName);
while (foundDependencies != m_available_dependencies.end())
{
if (foundDependencies->second->m_type == assetType)
return foundDependencies->second.get();
++foundDependencies;
}
return nullptr;
}
IndirectAssetReference MockAssetLoadingManager::LoadIndirectAssetReference(const asset_type_t assetType, const std::string& assetName)
{
return IndirectAssetReference(assetType, assetName);
}
void MockAssetLoadingManager::MockAddAvailableDependency(const asset_type_t assetType, std::string assetName, void* asset)
{
auto assetInfo = std::make_unique<XAssetInfoGeneric>(assetType, std::move(assetName), asset);
m_available_dependencies.emplace(assetInfo->m_name, std::move(assetInfo));
}
XAssetInfoGeneric* MockAssetLoadingManager::MockGetAddedAsset(const std::string& assetName)
{
const auto foundAsset = m_added_assets.find(assetName);
if (foundAsset != m_added_assets.end())
return foundAsset->second.get();
return nullptr;
}

View File

@ -1,26 +0,0 @@
#pragma once
#include "AssetLoading/IAssetLoadingManager.h"
#include <map>
#include <memory>
class MockAssetLoadingManager final : public IAssetLoadingManager
{
Zone& m_zone;
std::unique_ptr<Gdt> m_mock_gdt;
std::unique_ptr<AssetLoadingContext> m_context;
std::map<std::string, std::unique_ptr<XAssetInfoGeneric>> m_added_assets;
std::multimap<std::string, std::unique_ptr<XAssetInfoGeneric>> m_available_dependencies;
public:
MockAssetLoadingManager(Zone& zone, ISearchPath& searchPath);
_NODISCARD AssetLoadingContext* GetAssetLoadingContext() const override;
XAssetInfoGeneric* AddAsset(std::unique_ptr<XAssetInfoGeneric> xAssetInfo) override;
XAssetInfoGeneric* LoadDependency(asset_type_t assetType, const std::string& assetName) override;
IndirectAssetReference LoadIndirectAssetReference(asset_type_t assetType, const std::string& assetName) override;
void MockAddAvailableDependency(asset_type_t assetType, std::string assetName, void* asset);
XAssetInfoGeneric* MockGetAddedAsset(const std::string& assetName);
};