|
@@ -7,27 +7,12 @@
|
|
|
*/
|
|
|
|
|
|
#include <AssetBuilderSDK/AssetBuilderSDK.h>
|
|
|
-#include "native/unittests/UnitTestRunner.h"
|
|
|
+#include <AzCore/UnitTest/TestTypes.h>
|
|
|
+#include <native/unittests/UnitTestRunner.h>
|
|
|
+#include <QDir>
|
|
|
+#include <QTemporaryDir>
|
|
|
|
|
|
-
|
|
|
-using namespace UnitTestUtils;
|
|
|
-
|
|
|
-class BuilderSDKUnitTestFixture
|
|
|
-{
|
|
|
-public:
|
|
|
- // QTemporaryDir autodeletes on destruct.
|
|
|
- BuilderSDKUnitTestFixture()
|
|
|
- {
|
|
|
- m_folder = QDir(m_tempDir.path());
|
|
|
- }
|
|
|
-
|
|
|
- QDir m_folder;
|
|
|
-
|
|
|
-private:
|
|
|
- QTemporaryDir m_tempDir;
|
|
|
-};
|
|
|
-
|
|
|
-namespace
|
|
|
+namespace UnitTest
|
|
|
{
|
|
|
// note that this is copied from BuilderSDK.cpp because its intentionally not exposed as publicly available types
|
|
|
// the game would import it from LmbrCentral's various headers such as MaterialAsset.h
|
|
@@ -42,188 +27,222 @@ namespace
|
|
|
static AZ::Data::AssetType particleAssetType("{6EB56B55-1B58-4EE3-A268-27680338AE56}"); // from ParticleAsset.h
|
|
|
static AZ::Data::AssetType lensFlareAssetType("{CF44D1F0-F178-4A3D-A9E6-D44721F50C20}"); // from LensFlareAsset.h
|
|
|
static AZ::Data::AssetType fontAssetType("{57767D37-0EBE-43BE-8F60-AB36D2056EF8}"); // form UiAssetTypes.h
|
|
|
-}
|
|
|
|
|
|
-class BuilderSDKUnitTests_Basic
|
|
|
- : public UnitTestRun
|
|
|
-{
|
|
|
-public:
|
|
|
-
|
|
|
- int UnitTestPriority() const override
|
|
|
+ class BuilderSDKUnitTests : public AllocatorsFixture
|
|
|
{
|
|
|
- return -3; // do this first before the others
|
|
|
+ public:
|
|
|
+ // QTemporaryDir autodeletes on destruct.
|
|
|
+ BuilderSDKUnitTests()
|
|
|
+ {
|
|
|
+ m_folder = QDir(m_tempDir.path());
|
|
|
+ }
|
|
|
+
|
|
|
+ QDir m_folder;
|
|
|
+
|
|
|
+ private:
|
|
|
+ QTemporaryDir m_tempDir;
|
|
|
};
|
|
|
|
|
|
- void StartTest() override
|
|
|
+ TEST_F(BuilderSDKUnitTests, JobProduct_InferredAssetTypes_MatchExpectedValues)
|
|
|
{
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("no_extension") == AZ::Data::AssetType::CreateNull());
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("no_extension"), AZ::Data::AssetType::CreateNull());
|
|
|
// .dds should show up as texture
|
|
|
// .dds.xn should show up as mips
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds") == AZ::Data::AssetType(textureAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.1") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.2") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.3") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.4") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.5") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.6") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.7") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.8") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.9") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.1a") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.2a") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.3a") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.4a") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.5a") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.6a") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.7a") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.8a") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.9a") == AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds"), AZ::Data::AssetType(textureAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.1"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.2"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.3"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.4"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.5"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.6"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.7"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.8"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.9"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.1a"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.2a"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.3a"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.4a"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.5a"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.6a"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.7a"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.8a"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("texture.dds.9a"), AZ::Data::AssetType(textureMipsAssetType));
|
|
|
|
|
|
// .cgf should show up as staticmesh
|
|
|
// .cgf.x should static mesh lods
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf") == AZ::Data::AssetType(meshAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.1") == AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.2") == AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.3") == AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.4") == AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.5") == AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.6") == AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.7") == AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.8") == AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.9") == AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf"), AZ::Data::AssetType(meshAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.1"), AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.2"), AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.3"), AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.4"), AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.5"), AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.6"), AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.7"), AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.8"), AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("mesh.cgf.9"), AZ::Data::AssetType(staticMeshLodsAssetType));
|
|
|
|
|
|
// .skin should show up as skin (with lods)
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin") == AZ::Data::AssetType(skinnedMeshAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.1") == AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.2") == AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.3") == AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.4") == AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.5") == AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.6") == AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.7") == AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.8") == AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.9") == AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
-
|
|
|
- // now try to trick it with a simple mixture (complex, evil mixtures such as .skin.cgf.dds.tif.1a are not supported and not expected to function)
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("something_cgf.skin") == AZ::Data::AssetType(skinnedMeshAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("something_skin.dds") == AZ::Data::AssetType(textureAssetType));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("something_dds.cgf") == AZ::Data::AssetType(meshAssetType));
|
|
|
-
|
|
|
- Q_EMIT UnitTestPassed();
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin"), AZ::Data::AssetType(skinnedMeshAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.1"), AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.2"), AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.3"), AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.4"), AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.5"), AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.6"), AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.7"), AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.8"), AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("ask.skin.9"), AZ::Data::AssetType(skinnedMeshLodsAssetType));
|
|
|
+
|
|
|
+ // now try to trick it with a simple mixture (complex, evil mixtures such as .skin.cgf.dds.tif.1a are not supported and not expected
|
|
|
+ // to function)
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("something_cgf.skin"), AZ::Data::AssetType(skinnedMeshAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("something_skin.dds"), AZ::Data::AssetType(textureAssetType));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName("something_dds.cgf"), AZ::Data::AssetType(meshAssetType));
|
|
|
}
|
|
|
-};
|
|
|
|
|
|
-class BuilderSDKUnitTests_XMLParsing_EmptyOrInvalid
|
|
|
- : public UnitTestRun
|
|
|
- , protected BuilderSDKUnitTestFixture
|
|
|
-{
|
|
|
-public:
|
|
|
- int UnitTestPriority() const override
|
|
|
- {
|
|
|
- return -2;
|
|
|
- };
|
|
|
-
|
|
|
- void StartTest() override
|
|
|
+ TEST_F(BuilderSDKUnitTests, XMLParsing_EmptyOrInvalid_MatchesExpectedResult)
|
|
|
{
|
|
|
// this must neither crash nor fail to return the null type.
|
|
|
QString dummyFileName = m_folder.absoluteFilePath("test_empty_xml");
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, ""));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == AZ::Uuid::CreateNull());
|
|
|
-
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "dummy"));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == AZ::Uuid::CreateNull());
|
|
|
-
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "<truncatedfile "));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == AZ::Uuid::CreateNull());
|
|
|
-
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "<truncated attribute=\"test"));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == AZ::Uuid::CreateNull());
|
|
|
-
|
|
|
- Q_EMIT UnitTestPassed();
|
|
|
- }
|
|
|
-};
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(dummyFileName, ""));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()), AZ::Uuid::CreateNull());
|
|
|
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(dummyFileName, "dummy"));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()), AZ::Uuid::CreateNull());
|
|
|
|
|
|
-class BuilderSDKUnitTests_XMLParsing_BasicTypes
|
|
|
- : public UnitTestRun
|
|
|
- , protected BuilderSDKUnitTestFixture
|
|
|
-{
|
|
|
-public:
|
|
|
- int UnitTestPriority() const override
|
|
|
- {
|
|
|
- return -1;
|
|
|
- };
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(dummyFileName, "<truncatedfile "));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()), AZ::Uuid::CreateNull());
|
|
|
+
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(dummyFileName, "<truncated attribute=\"test"));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()), AZ::Uuid::CreateNull());
|
|
|
+ }
|
|
|
|
|
|
- void StartTest() override
|
|
|
+ TEST_F(BuilderSDKUnitTests, XMLParsing_BasicTypes_MatchesExpectedResults)
|
|
|
{
|
|
|
- // this must neither crash nor fail to return the null type.
|
|
|
QString dummyFileName = m_folder.absoluteFilePath("test_basic_file_xml");
|
|
|
|
|
|
// note that the above file is NOT AN XML FILE so it should not work despite contianing the expected tag.
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "<fontshader>stuff</fontshader>"));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == AZ::Uuid::CreateNull());
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(dummyFileName, "<fontshader>stuff</fontshader>"));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()), AZ::Uuid::CreateNull());
|
|
|
|
|
|
dummyFileName = m_folder.absoluteFilePath("test_basic_file.xml");
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "<fontshader>stuff</fontshader>"));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == fontAssetType);
|
|
|
-
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "<ParticleLibrary>stuff</ParticleLibrary>"));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == particleAssetType);
|
|
|
-
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "<LensFlareLibrary>stuff</LensFlareLibrary>"));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == lensFlareAssetType);
|
|
|
-
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "<ObjectStream>stuff</ObjectStream>")); // note - objectstream with no data in it should not crash or return anything useful
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == AZ::Uuid::CreateNull());
|
|
|
-
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "<UnknownThing>stuff</UnknownThing>"));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == AZ::Uuid::CreateNull());
|
|
|
-
|
|
|
- Q_EMIT UnitTestPassed();
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(dummyFileName, "<fontshader>stuff</fontshader>"));
|
|
|
+ EXPECT_EQ(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()), fontAssetType);
|
|
|
+
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(dummyFileName, "<ParticleLibrary>stuff</ParticleLibrary>"));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()), particleAssetType);
|
|
|
+
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(dummyFileName, "<LensFlareLibrary>stuff</LensFlareLibrary>"));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()), lensFlareAssetType);
|
|
|
+
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(
|
|
|
+ dummyFileName,
|
|
|
+ "<ObjectStream>stuff</ObjectStream>")); // note - objectstream with no data in it should not crash or return anything useful
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()), AZ::Uuid::CreateNull());
|
|
|
+
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(dummyFileName, "<UnknownThing>stuff</UnknownThing>"));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()), AZ::Uuid::CreateNull());
|
|
|
}
|
|
|
-};
|
|
|
-
|
|
|
|
|
|
-class BuilderSDKUnitTests_XMLParsing_ObjectStreamTypes
|
|
|
- : public UnitTestRun
|
|
|
- , protected BuilderSDKUnitTestFixture
|
|
|
-{
|
|
|
-public:
|
|
|
- void StartTest() override
|
|
|
+ TEST_F(BuilderSDKUnitTests, XMLParsing_ObjectStreamTypes_MatchesExpectedResults)
|
|
|
{
|
|
|
// this must neither crash nor fail to return the null type.
|
|
|
QString dummyFileName = m_folder.absoluteFilePath("test_objectstream.xml");
|
|
|
|
|
|
// objectstream missing its 'type' inside the class
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "<ObjectStream><Class/></ObjectStream>"));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == AZ::Uuid::CreateNull());
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(dummyFileName, "<ObjectStream><Class/></ObjectStream>"));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()), AZ::Uuid::CreateNull());
|
|
|
|
|
|
{
|
|
|
UnitTestUtils::AssertAbsorber absorber;
|
|
|
// objectstream with invalid 'type' inside the class
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "<ObjectStream><Class type=\"\"/></ObjectStream>"));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == AZ::Uuid::CreateNull());
|
|
|
- UNIT_TEST_EXPECT_TRUE(absorber.m_numWarningsAbsorbed > 0);
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(dummyFileName, "<ObjectStream><Class type=\"\"/></ObjectStream>"));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()), AZ::Uuid::CreateNull());
|
|
|
+ EXPECT_GT(absorber.m_numWarningsAbsorbed, 0);
|
|
|
}
|
|
|
|
|
|
{
|
|
|
UnitTestUtils::AssertAbsorber absorber;
|
|
|
// objectstream with invalid 'type' inside the class (bad guid)
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "<ObjectStream><Class type=\"123 NOT A GUID\"/></ObjectStream>"));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == AZ::Uuid::CreateNull());
|
|
|
- UNIT_TEST_EXPECT_TRUE(absorber.m_numWarningsAbsorbed > 0);
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(dummyFileName, "<ObjectStream><Class type=\"123 NOT A GUID\"/></ObjectStream>"));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()), AZ::Uuid::CreateNull());
|
|
|
+ EXPECT_GT(absorber.m_numWarningsAbsorbed, 0);
|
|
|
}
|
|
|
|
|
|
// objectstream with an actual 'guid' inside the class (bad guid)
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "<ObjectStream><Class type=\"{49375937-7F37-41B1-96A5-B099A8657DDE}\"/></ObjectStream>"));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == AZ::Uuid("{49375937-7F37-41B1-96A5-B099A8657DDE}"));
|
|
|
-
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "<ObjectStream><Class type=\"{49375937-7F37-41B1-96A5-B099A8657DDE}\"/></ObjectStream>"));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == AZ::Uuid("{49375937-7F37-41B1-96A5-B099A8657DDE}"));
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(
|
|
|
+ dummyFileName, "<ObjectStream><Class type=\"{49375937-7F37-41B1-96A5-B099A8657DDE}\"/></ObjectStream>"));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()),
|
|
|
+ AZ::Uuid("{49375937-7F37-41B1-96A5-B099A8657DDE}"));
|
|
|
+
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(
|
|
|
+ dummyFileName, "<ObjectStream><Class type=\"{49375937-7F37-41B1-96A5-B099A8657DDE}\"/></ObjectStream>"));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()),
|
|
|
+ AZ::Uuid("{49375937-7F37-41B1-96A5-B099A8657DDE}"));
|
|
|
|
|
|
// use old format which doesnt use 'class' keyword
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, "<ObjectStream><ASDFASDFASDFASDF type=\"{49375937-7F37-41B1-96A5-B099A8657DDE}\"/></ObjectStream>"));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == AZ::Uuid("{49375937-7F37-41B1-96A5-B099A8657DDE}"));
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(
|
|
|
+ dummyFileName, "<ObjectStream><ASDFASDFASDFASDF type=\"{49375937-7F37-41B1-96A5-B099A8657DDE}\"/></ObjectStream>"));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()),
|
|
|
+ AZ::Uuid("{49375937-7F37-41B1-96A5-B099A8657DDE}"));
|
|
|
|
|
|
// special case - recognize the old UICanvas format :(
|
|
|
const char* canvasFile =
|
|
@@ -238,94 +257,80 @@ public:
|
|
|
" </AZStd::vector>"
|
|
|
" </Entity>"
|
|
|
"</ObjectStream>";
|
|
|
- UNIT_TEST_EXPECT_TRUE(CreateDummyFile(dummyFileName, canvasFile));
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()) == AZ::Uuid("{E48DDAC8-1F1E-4183-AAAB-37424BCC254B}"));
|
|
|
+ EXPECT_TRUE(UnitTestUtils::CreateDummyFile(dummyFileName, canvasFile));
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferAssetTypeByProductFileName(dummyFileName.toUtf8().data()),
|
|
|
+ AZ::Uuid("{E48DDAC8-1F1E-4183-AAAB-37424BCC254B}"));
|
|
|
|
|
|
- Q_EMIT UnitTestPassed();
|
|
|
}
|
|
|
-};
|
|
|
|
|
|
-class BuilderSDKUnitTests_SubID_Basic
|
|
|
- : public UnitTestRun
|
|
|
-{
|
|
|
-public:
|
|
|
-
|
|
|
- int UnitTestPriority() const override
|
|
|
- {
|
|
|
- return -3; // do this first before the others
|
|
|
- };
|
|
|
-
|
|
|
- void StartTest() override
|
|
|
+ TEST_F(BuilderSDKUnitTests, SubIDMath_MatchesExpectedResults)
|
|
|
{
|
|
|
- // test SUBID MATH
|
|
|
-
|
|
|
AZ::u32 tester = AssetBuilderSDK::ConstructSubID(5, 10);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_ID(tester) == 5);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_LOD(tester) == 10);
|
|
|
+ EXPECT_EQ(AssetBuilderSDK::GetSubID_ID(tester), 5);
|
|
|
+ EXPECT_EQ(AssetBuilderSDK::GetSubID_LOD(tester), 10);
|
|
|
tester |= 0xFFF00000;
|
|
|
|
|
|
for (AZ::u32 idx = 0; idx < 9; ++idx)
|
|
|
{
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_ID(AssetBuilderSDK::ConstructSubID(0, idx)) == 0);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_LOD(AssetBuilderSDK::ConstructSubID(0, idx)) == idx);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_ID(AssetBuilderSDK::ConstructSubID(idx, 0)) == idx);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_LOD(AssetBuilderSDK::ConstructSubID(idx, 0)) == 0);
|
|
|
+ EXPECT_EQ(AssetBuilderSDK::GetSubID_ID(AssetBuilderSDK::ConstructSubID(0, idx)), 0);
|
|
|
+ EXPECT_EQ(AssetBuilderSDK::GetSubID_LOD(AssetBuilderSDK::ConstructSubID(0, idx)), idx);
|
|
|
+ EXPECT_EQ(AssetBuilderSDK::GetSubID_ID(AssetBuilderSDK::ConstructSubID(idx, 0)), idx);
|
|
|
+ EXPECT_EQ(AssetBuilderSDK::GetSubID_LOD(AssetBuilderSDK::ConstructSubID(idx, 0)), 0);
|
|
|
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_ID(AssetBuilderSDK::ConstructSubID(9 - idx, idx)) == 9 - idx);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_LOD(AssetBuilderSDK::ConstructSubID(9 - idx, idx)) == idx);
|
|
|
+ EXPECT_EQ(AssetBuilderSDK::GetSubID_ID(AssetBuilderSDK::ConstructSubID(9 - idx, idx)), 9 - idx);
|
|
|
+ EXPECT_EQ(AssetBuilderSDK::GetSubID_LOD(AssetBuilderSDK::ConstructSubID(9 - idx, idx)), idx);
|
|
|
}
|
|
|
|
|
|
// make sure that the flags are not disturbed if you modify the id and lods and pass the previous value in.
|
|
|
// we pass in the existing value as the third param, which should replace the existing ids and lods, but keep the flags.
|
|
|
tester = AssetBuilderSDK::ConstructSubID(512, 12, tester);
|
|
|
- UNIT_TEST_EXPECT_TRUE( (tester & 0xFFF00000) == 0xFFF00000);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_ID(tester) == 512);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_LOD(tester) == 12);
|
|
|
-
|
|
|
- Q_EMIT UnitTestPassed();
|
|
|
+ EXPECT_EQ((tester & 0xFFF00000), 0xFFF00000);
|
|
|
+ EXPECT_EQ(AssetBuilderSDK::GetSubID_ID(tester), 512);
|
|
|
+ EXPECT_EQ(AssetBuilderSDK::GetSubID_LOD(tester), 12);
|
|
|
}
|
|
|
-};
|
|
|
|
|
|
-
|
|
|
-class BuilderSDKUnitTests_SubID
|
|
|
- : public UnitTestRun
|
|
|
-{
|
|
|
-public:
|
|
|
-
|
|
|
- int UnitTestPriority() const override
|
|
|
- {
|
|
|
- return -1;
|
|
|
- };
|
|
|
-
|
|
|
- void StartTest() override
|
|
|
+ TEST_F(BuilderSDKUnitTests, SubIdGeneration_MatchesExpectedResult)
|
|
|
{
|
|
|
// test subid autogeneration
|
|
|
-
|
|
|
+
|
|
|
// files with no UUID and no extension always return null
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(AZ::Data::AssetType::CreateNull(), "blah") == 0);
|
|
|
-
|
|
|
+ EXPECT_EQ(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(AZ::Data::AssetType::CreateNull(), "blah"), 0);
|
|
|
+
|
|
|
// files with no UUID and no known extension always return null
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(AZ::Data::AssetType::CreateNull(), "blah.whatever") == 0);
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(AZ::Data::AssetType::CreateNull(), "blah.whatever"), 0);
|
|
|
|
|
|
// ("editor") slices always have subid 1
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(sliceAssetType, "blah.slice") == 1);
|
|
|
+ EXPECT_EQ(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(sliceAssetType, "blah.slice"), 1);
|
|
|
|
|
|
// standard skins, meshes have 0
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(skinnedMeshAssetType, "doesntmatter.whatever") == 0);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(meshAssetType, "doesntmatter.whatever") == 0);
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(skinnedMeshAssetType, "doesntmatter.whatever"), 0);
|
|
|
+ EXPECT_EQ(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(meshAssetType, "doesntmatter.whatever"), 0);
|
|
|
|
|
|
// _diff textures have that bit set
|
|
|
- UNIT_TEST_EXPECT_TRUE((AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureAssetType, "whatever_diff.dds") & AssetBuilderSDK::SUBID_FLAG_DIFF) == AssetBuilderSDK::SUBID_FLAG_DIFF);
|
|
|
+ EXPECT_EQ(
|
|
|
+ (AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureAssetType, "whatever_diff.dds") &
|
|
|
+ AssetBuilderSDK::SUBID_FLAG_DIFF), AssetBuilderSDK::SUBID_FLAG_DIFF);
|
|
|
// regular textures do not.
|
|
|
- UNIT_TEST_EXPECT_TRUE((AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureAssetType, "whatever.dds") & AssetBuilderSDK::SUBID_FLAG_DIFF) == 0);
|
|
|
+ EXPECT_EQ(
|
|
|
+ (AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureAssetType, "whatever.dds") &
|
|
|
+ AssetBuilderSDK::SUBID_FLAG_DIFF), 0);
|
|
|
|
|
|
// alpha mips have the alpha flag set
|
|
|
- UNIT_TEST_EXPECT_TRUE((AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, "whatever_diff.dds.1a") & AssetBuilderSDK::SUBID_FLAG_ALPHA) == AssetBuilderSDK::SUBID_FLAG_ALPHA);
|
|
|
+ EXPECT_EQ(
|
|
|
+ (AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, "whatever_diff.dds.1a") &
|
|
|
+ AssetBuilderSDK::SUBID_FLAG_ALPHA), AssetBuilderSDK::SUBID_FLAG_ALPHA);
|
|
|
// alpha _diff have the diff flag too
|
|
|
- UNIT_TEST_EXPECT_TRUE((AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, "whatever_diff.dds.1a") & AssetBuilderSDK::SUBID_FLAG_DIFF) == AssetBuilderSDK::SUBID_FLAG_DIFF);
|
|
|
+ EXPECT_EQ(
|
|
|
+ (AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, "whatever_diff.dds.1a") &
|
|
|
+ AssetBuilderSDK::SUBID_FLAG_DIFF), AssetBuilderSDK::SUBID_FLAG_DIFF);
|
|
|
// regular textures do not.
|
|
|
- UNIT_TEST_EXPECT_TRUE((AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureAssetType, "whatever.dds") & AssetBuilderSDK::SUBID_FLAG_ALPHA) == 0);
|
|
|
-
|
|
|
+ EXPECT_EQ(
|
|
|
+ (AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureAssetType, "whatever.dds") &
|
|
|
+ AssetBuilderSDK::SUBID_FLAG_ALPHA), 0);
|
|
|
+
|
|
|
// check each possible LOD and Alpha LOD:
|
|
|
for (AZ::u32 idx = 1; idx <= 9; ++idx)
|
|
|
{
|
|
@@ -333,38 +338,58 @@ public:
|
|
|
|
|
|
// .1 is just that index (when masked)
|
|
|
check = AZStd::string::format("somefilename.dds.%i", idx);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_LOD(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str())) == idx);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_ID(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str())) == 0);
|
|
|
-
|
|
|
- // .1a is the same, but has
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::GetSubID_LOD(
|
|
|
+ AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str())), idx);
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::GetSubID_ID(
|
|
|
+ AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str())), 0);
|
|
|
+
|
|
|
+ // .1a is the same, but has
|
|
|
check = AZStd::string::format("somefilename.dds.%ia", idx);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_LOD(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str())) == idx);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_ID(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str())) == 0);
|
|
|
- UNIT_TEST_EXPECT_TRUE((AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str()) & AssetBuilderSDK::SUBID_FLAG_ALPHA) == AssetBuilderSDK::SUBID_FLAG_ALPHA);
|
|
|
- UNIT_TEST_EXPECT_TRUE((AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str()) & AssetBuilderSDK::SUBID_FLAG_DIFF) == 0);
|
|
|
-
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::GetSubID_LOD(
|
|
|
+ AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str())), idx);
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::GetSubID_ID(
|
|
|
+ AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str())), 0);
|
|
|
+ EXPECT_EQ(
|
|
|
+ (AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str()) &
|
|
|
+ AssetBuilderSDK::SUBID_FLAG_ALPHA), AssetBuilderSDK::SUBID_FLAG_ALPHA);
|
|
|
+ EXPECT_EQ(
|
|
|
+ (AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str()) &
|
|
|
+ AssetBuilderSDK::SUBID_FLAG_DIFF), 0);
|
|
|
|
|
|
check = AZStd::string::format("somefilename_diff.dds.%ia", idx);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_LOD(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str())) == idx);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_ID(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str())) == 0);
|
|
|
- UNIT_TEST_EXPECT_TRUE((AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str()) & AssetBuilderSDK::SUBID_FLAG_ALPHA) == AssetBuilderSDK::SUBID_FLAG_ALPHA);
|
|
|
- UNIT_TEST_EXPECT_TRUE((AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str()) & AssetBuilderSDK::SUBID_FLAG_DIFF) == AssetBuilderSDK::SUBID_FLAG_DIFF);
|
|
|
-
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::GetSubID_LOD(
|
|
|
+ AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str())), idx);
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::GetSubID_ID(
|
|
|
+ AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str())), 0);
|
|
|
+ EXPECT_EQ(
|
|
|
+ (AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str()) &
|
|
|
+ AssetBuilderSDK::SUBID_FLAG_ALPHA), AssetBuilderSDK::SUBID_FLAG_ALPHA);
|
|
|
+ EXPECT_EQ(
|
|
|
+ (AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(textureMipsAssetType, check.c_str()) &
|
|
|
+ AssetBuilderSDK::SUBID_FLAG_DIFF), AssetBuilderSDK::SUBID_FLAG_DIFF);
|
|
|
+
|
|
|
check = AZStd::string::format("somefilename.skin.%i", idx);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_LOD(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(skinnedMeshLodsAssetType, check.c_str())) == idx);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_ID(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(skinnedMeshLodsAssetType, check.c_str())) == 0);
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::GetSubID_LOD(
|
|
|
+ AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(skinnedMeshLodsAssetType, check.c_str())), idx);
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::GetSubID_ID(
|
|
|
+ AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(skinnedMeshLodsAssetType, check.c_str())), 0);
|
|
|
|
|
|
check = AZStd::string::format("somefilename.cgf.%i", idx);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_LOD(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(staticMeshLodsAssetType, check.c_str())) == idx);
|
|
|
- UNIT_TEST_EXPECT_TRUE(AssetBuilderSDK::GetSubID_ID(AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(staticMeshLodsAssetType, check.c_str())) == 0);
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::GetSubID_LOD(
|
|
|
+ AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(staticMeshLodsAssetType, check.c_str())), idx);
|
|
|
+ EXPECT_EQ(
|
|
|
+ AssetBuilderSDK::GetSubID_ID(
|
|
|
+ AssetBuilderSDK::JobProduct::InferSubIDFromProductFileName(staticMeshLodsAssetType, check.c_str())), 0);
|
|
|
}
|
|
|
- Q_EMIT UnitTestPassed();
|
|
|
}
|
|
|
-};
|
|
|
-
|
|
|
-REGISTER_UNIT_TEST(BuilderSDKUnitTests_XMLParsing_ObjectStreamTypes)
|
|
|
-REGISTER_UNIT_TEST(BuilderSDKUnitTests_XMLParsing_BasicTypes)
|
|
|
-REGISTER_UNIT_TEST(BuilderSDKUnitTests_XMLParsing_EmptyOrInvalid)
|
|
|
-REGISTER_UNIT_TEST(BuilderSDKUnitTests_Basic)
|
|
|
-REGISTER_UNIT_TEST(BuilderSDKUnitTests_SubID)
|
|
|
-REGISTER_UNIT_TEST(BuilderSDKUnitTests_SubID_Basic)
|
|
|
+
|
|
|
+} // namespace UnitTest
|