/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #include "EditorDefs.h" #include #include #include #include #include #include #include #include #include #include namespace TerrainModifyPythonBindingsUnitTests { class TerrainModifyPythonBindingsFixture : public UnitTest::LeakDetectionFixture { public: AzToolsFramework::ToolsApplication m_app; void SetUp() override { AzFramework::Application::Descriptor appDesc; m_app.Start(appDesc); // Without this, the user settings component would attempt to save on finalize/shutdown. Since the file is // shared across the whole engine, if multiple tests are run in parallel, the saving could cause a crash // in the unit tests. AZ::UserSettingsComponentRequestBus::Broadcast(&AZ::UserSettingsComponentRequests::DisableSaveOnFinalize); m_app.RegisterComponentDescriptor(AzToolsFramework::TerrainModifyPythonFuncsHandler::CreateDescriptor()); } void TearDown() override { m_app.Stop(); } }; TEST_F(TerrainModifyPythonBindingsFixture, TerrainModifyEditorCommands_ApiExists) { AZ::BehaviorContext* behaviorContext = m_app.GetBehaviorContext(); ASSERT_TRUE(behaviorContext); EXPECT_TRUE(behaviorContext->m_methods.find("set_tool_flatten") != behaviorContext->m_methods.end()); EXPECT_TRUE(behaviorContext->m_methods.find("set_tool_smooth") != behaviorContext->m_methods.end()); EXPECT_TRUE(behaviorContext->m_methods.find("set_tool_riselower") != behaviorContext->m_methods.end()); } }