GraphCreationTests.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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. #pragma once
  9. #include <QLineEdit>
  10. #include <QMenu>
  11. #include <QString>
  12. #include <QTableView>
  13. #include <GraphCanvas/Components/Nodes/NodeBus.h>
  14. #include <GraphCanvas/Components/SceneBus.h>
  15. #include <GraphCanvas/Components/Slots/SlotBus.h>
  16. #include <GraphCanvas/Components/VisualBus.h>
  17. #include <GraphCanvas/Utils/ConversionUtils.h>
  18. #include <ScriptCanvas/Bus/RequestBus.h>
  19. #include <ScriptCanvasDeveloperEditor/EditorAutomation/EditorAutomationTest.h>
  20. #include <ScriptCanvasDeveloperEditor/EditorAutomation/EditorAutomationActions/EditorKeyActions.h>
  21. #include <ScriptCanvasDeveloperEditor/EditorAutomation/EditorAutomationActions/EditorMouseActions.h>
  22. #include <ScriptCanvasDeveloperEditor/EditorAutomation/EditorAutomationActions/WidgetActions.h>
  23. #include <ScriptCanvasDeveloperEditor/EditorAutomation/EditorAutomationActions/ScriptCanvasActions/ConnectionActions.h>
  24. #include <ScriptCanvasDeveloperEditor/EditorAutomation/EditorAutomationActions/ScriptCanvasActions/CreateElementsActions.h>
  25. #include <ScriptCanvasDeveloperEditor/EditorAutomation/EditorAutomationActions/ScriptCanvasActions/EditorViewActions.h>
  26. #include <ScriptCanvasDeveloperEditor/EditorAutomation/EditorAutomationActions/ScriptCanvasActions/ElementInteractions.h>
  27. #include <ScriptCanvasDeveloperEditor/EditorAutomation/EditorAutomationActions/ScriptCanvasActions/GraphActions.h>
  28. #include <ScriptCanvasDeveloperEditor/EditorAutomation/EditorAutomationActions/ScriptCanvasActions/VariableActions.h>
  29. namespace ScriptCanvas::Developer
  30. {
  31. DefineStateId(CreateGraphTest_CreateGraphHotKeyState);
  32. /**
  33. EditorautomationTest that will test out the ways of creating a runtime graph
  34. */
  35. class CreateGraphTest
  36. : public EditorAutomationTest
  37. {
  38. class CreateGraphHotKeyState
  39. : public StaticIdAutomationState<CreateGraphTest_CreateGraphHotKeyStateId>
  40. , public GraphCanvas::AssetEditorNotificationBus::Handler
  41. {
  42. public:
  43. AZ_CLASS_ALLOCATOR(CreateGraphHotKeyState, AZ::SystemAllocator)
  44. CreateGraphHotKeyState();
  45. ~CreateGraphHotKeyState() override = default;
  46. // AssetEditorNotificationBus
  47. void OnActiveGraphChanged(const AZ::EntityId& graphCanvasId) override;
  48. ////
  49. protected:
  50. void OnSetupStateActions(EditorAutomationActionRunner& actionRunner) override;
  51. void OnStateActionsComplete() override;
  52. private:
  53. GraphCanvas::GraphId m_hotKeyGraphId;
  54. KeyPressAction m_pressControl;
  55. KeyReleaseAction m_releaseControl;
  56. TypeCharAction m_typeN;
  57. ProcessUserEventsAction m_shortProcessEvents;
  58. ProcessUserEventsAction m_longProcessEvents;
  59. };
  60. public:
  61. AZ_CLASS_ALLOCATOR(CreateGraphTest, AZ::SystemAllocator)
  62. CreateGraphTest();
  63. ~CreateGraphTest() override = default;
  64. void OnTestStarting() override;
  65. protected:
  66. int EvaluateTransition(int stateId) override;
  67. private:
  68. int m_creationState = EditorAutomationState::EXIT_STATE_ID;
  69. };
  70. /**
  71. EditorautomationTest that will test out the ways of creating a function graph.
  72. */
  73. class CreateFunctionTest
  74. : public EditorAutomationTest
  75. {
  76. public:
  77. CreateFunctionTest();
  78. ~CreateFunctionTest() override = default;
  79. };
  80. }