3
0

AssetManagerTestFixture.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include "AssetManagerTestFixture.h"
  9. #include <AzCore/Interface/Interface.h>
  10. #include <AzCore/Asset/AssetManager.h>
  11. #include <AzCore/Memory/PoolAllocator.h>
  12. #include <AzCore/RTTI/BehaviorContext.h>
  13. #include <AzCore/Serialization/SerializeContext.h>
  14. namespace UnitTest
  15. {
  16. void AssetManagerTestFixture::SetUp()
  17. {
  18. using namespace AZ::Data;
  19. LeakDetectionFixture::SetUp();
  20. AssetManager::Descriptor desc;
  21. AssetManager::Create(desc);
  22. m_reflectionManager = AZStd::make_unique<AZ::ReflectionManager>();
  23. m_reflectionManager->AddReflectContext<AZ::SerializeContext>();
  24. m_reflectionManager->AddReflectContext<AZ::BehaviorContext>();
  25. AZ::ComponentApplicationBus::Handler::BusConnect();
  26. AZ::Interface<AZ::ComponentApplicationRequests>::Register(this);
  27. }
  28. void AssetManagerTestFixture::TearDown()
  29. {
  30. AZ::Interface<AZ::ComponentApplicationRequests>::Unregister(this);
  31. AZ::ComponentApplicationBus::Handler::BusDisconnect();
  32. using namespace AZ::Data;
  33. AZ::Data::AssetManager::Destroy();
  34. m_reflectionManager->Clear();
  35. m_reflectionManager.reset();
  36. LeakDetectionFixture::TearDown();
  37. }
  38. AZ::BehaviorContext* AssetManagerTestFixture::GetBehaviorContext()
  39. {
  40. return m_reflectionManager ? m_reflectionManager->GetReflectContext<AZ::BehaviorContext>() : nullptr;
  41. }
  42. AZ::SerializeContext* AssetManagerTestFixture::GetSerializeContext()
  43. {
  44. return m_reflectionManager ? m_reflectionManager->GetReflectContext<AZ::SerializeContext>() : nullptr;
  45. }
  46. }