GroupTests.h 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. /**
  32. EditorautomationTest that will test out various methods creating a group
  33. */
  34. class CreateGroupTest
  35. : public EditorAutomationTest
  36. {
  37. public:
  38. CreateGroupTest(CreateGroupAction::CreationType creationType = CreateGroupAction::CreationType::Hotkey);
  39. ~CreateGroupTest() override = default;
  40. };
  41. /**
  42. EditorautomationTest that will test out how elements are added/removed from groups in several situations(Addition to group via context menu, drag/drop, connection proposal, or resizing. Removal from group through movement and resizing).
  43. */
  44. class GroupManipulationTest
  45. : public EditorAutomationTest
  46. {
  47. private:
  48. class OffsetPositionByNodeDimension
  49. : public CustomActionState
  50. {
  51. public:
  52. AZ_CLASS_ALLOCATOR(OffsetPositionByNodeDimension, AZ::SystemAllocator)
  53. // -1 to 1 will decide how much and which direction we manipulate the specified value by our width/height.
  54. OffsetPositionByNodeDimension(float horizontalDimension, float verticalDimension, AutomationStateModelId nodeId, AutomationStateModelId position);
  55. ~OffsetPositionByNodeDimension() override = default;
  56. void OnCustomAction() override;
  57. private:
  58. float m_horizontalDimension = 0.0f;
  59. float m_verticalDimension = 0.0f;
  60. AutomationStateModelId m_nodeId;
  61. AutomationStateModelId m_positionId;
  62. };
  63. public:
  64. GroupManipulationTest(GraphCanvas::NodePaletteWidget* nodePaletteWidget);
  65. ~GroupManipulationTest() override = default;
  66. };
  67. }