Added basic unit test for relative path function
Moved asset system stub to RPI utils Signed-off-by: Guthrie Adams <guthadam@amazon.com>
This commit is contained in:
@@ -160,6 +160,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
|||||||
Gem::Atom_RPI.Public
|
Gem::Atom_RPI.Public
|
||||||
Gem::Atom_RHI.Public
|
Gem::Atom_RHI.Public
|
||||||
Gem::Atom_RPI.Edit
|
Gem::Atom_RPI.Edit
|
||||||
|
Gem::Atom_Utils.Editor.Static
|
||||||
)
|
)
|
||||||
ly_add_googletest(
|
ly_add_googletest(
|
||||||
NAME Gem::Atom_RPI.Tests
|
NAME Gem::Atom_RPI.Tests
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
#include <Common/AssetManagerTestFixture.h>
|
#include <Common/AssetManagerTestFixture.h>
|
||||||
#include <Common/RHI/Stubs.h>
|
#include <Common/RHI/Stubs.h>
|
||||||
#include <Common/RHI/Factory.h>
|
#include <Common/RHI/Factory.h>
|
||||||
#include <Common/AssetSystemStub.h>
|
#include <Atom/Utils/AssetSystemStub.h>
|
||||||
|
|
||||||
namespace UnitTest
|
namespace UnitTest
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -10,8 +10,6 @@ set(FILES
|
|||||||
Tests/Buffer/BufferTests.cpp
|
Tests/Buffer/BufferTests.cpp
|
||||||
Tests/Common/AssetManagerTestFixture.cpp
|
Tests/Common/AssetManagerTestFixture.cpp
|
||||||
Tests/Common/AssetManagerTestFixture.h
|
Tests/Common/AssetManagerTestFixture.h
|
||||||
Tests/Common/AssetSystemStub.cpp
|
|
||||||
Tests/Common/AssetSystemStub.h
|
|
||||||
Tests/Common/ErrorMessageFinder.cpp
|
Tests/Common/ErrorMessageFinder.cpp
|
||||||
Tests/Common/ErrorMessageFinder.h
|
Tests/Common/ErrorMessageFinder.h
|
||||||
Tests/Common/ErrorMessageFinderTests.cpp
|
Tests/Common/ErrorMessageFinderTests.cpp
|
||||||
|
|||||||
@@ -61,3 +61,31 @@ ly_add_target(
|
|||||||
PRIVATE
|
PRIVATE
|
||||||
Gem::AtomToolsFramework.Static
|
Gem::AtomToolsFramework.Static
|
||||||
)
|
)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Tests
|
||||||
|
################################################################################
|
||||||
|
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
||||||
|
|
||||||
|
ly_add_target(
|
||||||
|
NAME AtomToolsFramework.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
|
||||||
|
NAMESPACE Gem
|
||||||
|
FILES_CMAKE
|
||||||
|
atomtoolsframework_tests_files.cmake
|
||||||
|
INCLUDE_DIRECTORIES
|
||||||
|
PRIVATE
|
||||||
|
.
|
||||||
|
Tests
|
||||||
|
BUILD_DEPENDENCIES
|
||||||
|
PRIVATE
|
||||||
|
AZ::AzTest
|
||||||
|
AZ::AzTestShared
|
||||||
|
Gem::AtomToolsFramework.Static
|
||||||
|
Gem::Atom_Utils.Editor.Static
|
||||||
|
)
|
||||||
|
|
||||||
|
ly_add_googletest(
|
||||||
|
NAME Gem::AtomToolsFramework.Tests
|
||||||
|
)
|
||||||
|
|
||||||
|
endif()
|
||||||
@@ -7,25 +7,71 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <AzTest/AzTest.h>
|
#include <AzTest/AzTest.h>
|
||||||
|
#include <Atom/Utils/AssetSystemStub.h>
|
||||||
|
#include <AtomToolsFramework/Util/MaterialPropertyUtil.h>
|
||||||
|
|
||||||
class AtomToolsFrameworkTest
|
namespace UnitTest
|
||||||
: public ::testing::Test
|
|
||||||
{
|
{
|
||||||
protected:
|
class AtomToolsFrameworkTest : public ::testing::Test
|
||||||
void SetUp() override
|
|
||||||
{
|
{
|
||||||
|
protected:
|
||||||
|
void SetUp() override
|
||||||
|
{
|
||||||
|
if (!AZ::AllocatorInstance<AZ::SystemAllocator>::IsReady())
|
||||||
|
{
|
||||||
|
AZ::AllocatorInstance<AZ::SystemAllocator>::Create(AZ::SystemAllocator::Descriptor());
|
||||||
|
}
|
||||||
|
|
||||||
|
m_assetSystemStub.Activate();
|
||||||
|
|
||||||
|
RegisterSourceAsset("objects/upgrades/materials/supercondor.material");
|
||||||
|
RegisterSourceAsset("materials/condor.material");
|
||||||
|
RegisterSourceAsset("materials/talisman.material");
|
||||||
|
RegisterSourceAsset("materials/city.material");
|
||||||
|
RegisterSourceAsset("materials/totem.material");
|
||||||
|
RegisterSourceAsset("textures/orange.png");
|
||||||
|
RegisterSourceAsset("textures/red.png");
|
||||||
|
RegisterSourceAsset("textures/gold.png");
|
||||||
|
RegisterSourceAsset("textures/fuzz.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
void TearDown() override
|
||||||
|
{
|
||||||
|
m_assetSystemStub.Deactivate();
|
||||||
|
|
||||||
|
if (AZ::AllocatorInstance<AZ::SystemAllocator>::IsReady())
|
||||||
|
{
|
||||||
|
AZ::AllocatorInstance<AZ::SystemAllocator>::Destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void RegisterSourceAsset(const AZStd::string& path)
|
||||||
|
{
|
||||||
|
const AZ::IO::BasicPath assetRootPath = AZ::IO::PathView(m_assetRoot).LexicallyNormal();
|
||||||
|
const AZ::IO::BasicPath normalizedPath = AZ::IO::BasicPath(assetRootPath).Append(path).LexicallyNormal();
|
||||||
|
|
||||||
|
AZ::Data::AssetInfo assetInfo = {};
|
||||||
|
assetInfo.m_assetId = AZ::Uuid::CreateRandom();
|
||||||
|
assetInfo.m_relativePath = normalizedPath.LexicallyRelative(assetRootPath).StringAsPosix();
|
||||||
|
m_assetSystemStub.RegisterSourceInfo(normalizedPath.StringAsPosix().c_str(), assetInfo, assetRootPath.StringAsPosix().c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
static constexpr const char* m_assetRoot = "d:/project/assets/";
|
||||||
|
AssetSystemStub m_assetSystemStub;
|
||||||
|
};
|
||||||
|
|
||||||
|
TEST_F(AtomToolsFrameworkTest, GetExteralReferencePath_Succeeds)
|
||||||
|
{
|
||||||
|
ASSERT_EQ(AtomToolsFramework::GetExteralReferencePath("", "", 2), "");
|
||||||
|
ASSERT_EQ(AtomToolsFramework::GetExteralReferencePath("d:/project/assets/materials/condor.material", "", 2), "");
|
||||||
|
ASSERT_EQ(AtomToolsFramework::GetExteralReferencePath("d:/project/assets/materials/talisman.material", "", 2), "");
|
||||||
|
ASSERT_EQ(AtomToolsFramework::GetExteralReferencePath("d:/project/assets/materials/talisman.material", "d:/project/assets/textures/gold.png", 2), "../textures/gold.png");
|
||||||
|
ASSERT_EQ(AtomToolsFramework::GetExteralReferencePath("d:/project/assets/materials/talisman.material", "d:/project/assets/textures/gold.png", 0), "textures/gold.png");
|
||||||
|
ASSERT_EQ(AtomToolsFramework::GetExteralReferencePath("d:/project/assets/objects/upgrades/materials/supercondor.material", "d:/project/assets/materials/condor.material", 3), "../../../materials/condor.material");
|
||||||
|
ASSERT_EQ(AtomToolsFramework::GetExteralReferencePath("d:/project/assets/objects/upgrades/materials/supercondor.material", "d:/project/assets/materials/condor.material", 2), "materials/condor.material");
|
||||||
|
ASSERT_EQ(AtomToolsFramework::GetExteralReferencePath("d:/project/assets/objects/upgrades/materials/supercondor.material", "d:/project/assets/materials/condor.material", 1), "materials/condor.material");
|
||||||
|
ASSERT_EQ(AtomToolsFramework::GetExteralReferencePath("d:/project/assets/objects/upgrades/materials/supercondor.material", "d:/project/assets/materials/condor.material", 0), "materials/condor.material");
|
||||||
}
|
}
|
||||||
|
|
||||||
void TearDown() override
|
AZ_UNIT_TEST_HOOK(DEFAULT_UNIT_TEST_ENV);
|
||||||
{
|
} // namespace UnitTest
|
||||||
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
TEST_F(AtomToolsFrameworkTest, SanityTest)
|
|
||||||
{
|
|
||||||
ASSERT_TRUE(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
AZ_UNIT_TEST_HOOK(DEFAULT_UNIT_TEST_ENV);
|
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) Contributors to the Open 3D Engine Project.
|
||||||
|
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
set(FILES
|
||||||
|
Tests/AtomToolsFrameworkTest.cpp
|
||||||
|
)
|
||||||
@@ -27,6 +27,27 @@ ly_add_target(
|
|||||||
3rdParty::libpng
|
3rdParty::libpng
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||||
|
|
||||||
|
ly_add_target(
|
||||||
|
NAME Atom_Utils.Editor.Static STATIC
|
||||||
|
NAMESPACE Gem
|
||||||
|
FILES_CMAKE
|
||||||
|
atom_utils_editor_files.cmake
|
||||||
|
INCLUDE_DIRECTORIES
|
||||||
|
PRIVATE
|
||||||
|
Source
|
||||||
|
PUBLIC
|
||||||
|
Include
|
||||||
|
BUILD_DEPENDENCIES
|
||||||
|
PRIVATE
|
||||||
|
AZ::AtomCore
|
||||||
|
AZ::AzCore
|
||||||
|
AZ::AzFramework
|
||||||
|
AZ::AzToolsFramework
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Tests
|
# Tests
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <Common/AssetSystemStub.h>
|
#include <Atom/Utils/AssetSystemStub.h>
|
||||||
#include <AzFramework/StringFunc/StringFunc.h>
|
#include <AzFramework/StringFunc/StringFunc.h>
|
||||||
|
|
||||||
namespace UnitTest
|
namespace UnitTest
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) Contributors to the Open 3D Engine Project.
|
||||||
|
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
set(FILES
|
||||||
|
Include/Atom/Utils/AssetSystemStub.h
|
||||||
|
Source/AssetSystemStub.cpp
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user