1a69a01cdSopenharmony_ci/* 2a69a01cdSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 3a69a01cdSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4a69a01cdSopenharmony_ci * you may not use this file except in compliance with the License. 5a69a01cdSopenharmony_ci * You may obtain a copy of the License at 6a69a01cdSopenharmony_ci * 7a69a01cdSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8a69a01cdSopenharmony_ci * 9a69a01cdSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10a69a01cdSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11a69a01cdSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12a69a01cdSopenharmony_ci * See the License for the specific language governing permissions and 13a69a01cdSopenharmony_ci * limitations under the License. 14a69a01cdSopenharmony_ci */ 15a69a01cdSopenharmony_ci 16a69a01cdSopenharmony_ci#include "test_flow_factory.h" 17a69a01cdSopenharmony_ci 18a69a01cdSopenharmony_ci#include "random_test_flow.h" 19a69a01cdSopenharmony_ci#include "special_test_flow.h" 20a69a01cdSopenharmony_ci#include "focus_test_flow.h" 21a69a01cdSopenharmony_ci 22a69a01cdSopenharmony_cinamespace OHOS { 23a69a01cdSopenharmony_cinamespace WuKong { 24a69a01cdSopenharmony_cistd::shared_ptr<TestFlow> TestFlowFactory::GetTestFlow(WuKongShellCommand& shellCommand, const std::string& command) 25a69a01cdSopenharmony_ci{ 26a69a01cdSopenharmony_ci std::shared_ptr<TestFlow> testFlow = nullptr; 27a69a01cdSopenharmony_ci if (command == "exec") { 28a69a01cdSopenharmony_ci testFlow = std::make_shared<RandomTestFlow>(shellCommand); 29a69a01cdSopenharmony_ci } else if (command == "special") { 30a69a01cdSopenharmony_ci testFlow = std::make_shared<SpecialTestFlow>(shellCommand); 31a69a01cdSopenharmony_ci } else if (command == "focus") { 32a69a01cdSopenharmony_ci testFlow = std::make_shared<FocusTestFlow>(shellCommand); 33a69a01cdSopenharmony_ci } 34a69a01cdSopenharmony_ci return testFlow; 35a69a01cdSopenharmony_ci} 36a69a01cdSopenharmony_ci} // namespace WuKong 37a69a01cdSopenharmony_ci} // namespace OHOS 38