AnimGraphNodeGroupTests.cpp 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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 <EMotionFX/CommandSystem/Source/AnimGraphNodeGroupCommands.h>
  9. #include <EMotionFX/CommandSystem/Source/CommandManager.h>
  10. #include <EMotionFX/Source/AnimGraphNodeGroup.h>
  11. #include <Tests/AnimGraphFixture.h>
  12. namespace EMotionFX
  13. {
  14. TEST_F(AnimGraphFixture, AnimGraphAddMassNodeGroupTests)
  15. {
  16. CommandSystem::CommandManager commandManager;
  17. MCore::CommandGroup commandGroup("Add anim graph node groups");
  18. AZStd::string result;
  19. AZStd::string commandString;
  20. for (AZ::u32 i = 0; i < 100; ++i)
  21. {
  22. commandString = AZStd::string::format("AnimGraphAddNodeGroup -animGraphID %i -name \"NodeGroup%s\"", m_animGraph->GetID(), AZStd::to_string(i).c_str());
  23. commandGroup.AddCommandString(commandString);
  24. }
  25. EXPECT_TRUE(CommandSystem::GetCommandManager()->ExecuteCommandGroup(commandGroup, result));
  26. EXPECT_EQ(m_animGraph->GetNumNodeGroups(), 100);
  27. EXPECT_TRUE(CommandSystem::GetCommandManager()->Undo(result));
  28. EXPECT_EQ(m_animGraph->GetNumNodeGroups(), 0);
  29. EXPECT_TRUE(CommandSystem::GetCommandManager()->Redo(result));
  30. EXPECT_EQ(m_animGraph->GetNumNodeGroups(), 100);
  31. }
  32. TEST_F(AnimGraphFixture, AnimGraphRemoveMassNodeGroupTests)
  33. {
  34. AZStd::string nodeGroupName;
  35. for (AZ::u32 i = 0; i < 100; ++i)
  36. {
  37. EMotionFX::AnimGraphNodeGroup* nodeGroup = aznew AnimGraphNodeGroup();
  38. nodeGroupName = AZStd::string::format("NodeGroup%s", AZStd::to_string(i).c_str());
  39. nodeGroup->SetName(nodeGroupName.c_str());
  40. m_animGraph->AddNodeGroup(nodeGroup);
  41. }
  42. EXPECT_EQ(m_animGraph->GetNumNodeGroups(), 100);
  43. CommandSystem::CommandManager commandManager;
  44. MCore::CommandGroup commandGroup("Remove anim graph node groups");
  45. AZStd::string result;
  46. AZStd::string commandString;
  47. for (AZ::u32 i = 0; i < 100; ++i)
  48. {
  49. commandString = AZStd::string::format("AnimGraphRemoveNodeGroup -animGraphID %i -name \"NodeGroup%s\"", m_animGraph->GetID(), AZStd::to_string(i).c_str());
  50. commandGroup.AddCommandString(commandString);
  51. }
  52. EXPECT_TRUE(CommandSystem::GetCommandManager()->ExecuteCommandGroup(commandGroup, result));
  53. EXPECT_EQ(m_animGraph->GetNumNodeGroups(), 0);
  54. EXPECT_TRUE(CommandSystem::GetCommandManager()->Undo(result));
  55. EXPECT_EQ(m_animGraph->GetNumNodeGroups(), 100);
  56. EXPECT_TRUE(CommandSystem::GetCommandManager()->Redo(result));
  57. EXPECT_EQ(m_animGraph->GetNumNodeGroups(), 0);
  58. }
  59. } // namespace EMotionFX