2
0
Эх сурвалжийг харах

Migrated BuidlerSDKUnitTests.cpp to the newer testing framework (#10172)

Signed-off-by: AMZN-stankowi <[email protected]>
AMZN-stankowi 3 жил өмнө
parent
commit
c4a317d115

+ 263 - 238
Code/Tools/AssetProcessor/native/unittests/BuilderSDKUnitTests.cpp

@@ -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