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#ifndef TEST_WUKONG_SPECAIL_TEST_OBJECT_H 17a69a01cdSopenharmony_ci#define TEST_WUKONG_SPECAIL_TEST_OBJECT_H 18a69a01cdSopenharmony_ci 19a69a01cdSopenharmony_ci#include <cstdio> 20a69a01cdSopenharmony_ci#include <sstream> 21a69a01cdSopenharmony_ci#include <string> 22a69a01cdSopenharmony_ci#include <vector> 23a69a01cdSopenharmony_ci 24a69a01cdSopenharmony_ci#include "securec.h" 25a69a01cdSopenharmony_ci 26a69a01cdSopenharmony_cinamespace OHOS { 27a69a01cdSopenharmony_cinamespace WuKong { 28a69a01cdSopenharmony_ciclass SpcialTestObject { 29a69a01cdSopenharmony_cipublic: 30a69a01cdSopenharmony_ci SpcialTestObject() 31a69a01cdSopenharmony_ci { 32a69a01cdSopenharmony_ci } 33a69a01cdSopenharmony_ci virtual ~SpcialTestObject() 34a69a01cdSopenharmony_ci { 35a69a01cdSopenharmony_ci } 36a69a01cdSopenharmony_ci // convert coordinates to string 37a69a01cdSopenharmony_ci virtual std::string toString() 38a69a01cdSopenharmony_ci { 39a69a01cdSopenharmony_ci return std::to_string(objectType_); 40a69a01cdSopenharmony_ci } 41a69a01cdSopenharmony_ci int objectType_ = -1; 42a69a01cdSopenharmony_ci bool isAllFinished_ = false; 43a69a01cdSopenharmony_ci}; 44a69a01cdSopenharmony_ciclass SwapParam : public SpcialTestObject { 45a69a01cdSopenharmony_cipublic: 46a69a01cdSopenharmony_ci SwapParam() 47a69a01cdSopenharmony_ci { 48a69a01cdSopenharmony_ci } 49a69a01cdSopenharmony_ci virtual ~SwapParam() 50a69a01cdSopenharmony_ci { 51a69a01cdSopenharmony_ci } 52a69a01cdSopenharmony_ci 53a69a01cdSopenharmony_ci virtual std::string toString() 54a69a01cdSopenharmony_ci { 55a69a01cdSopenharmony_ci char buffer[50]; 56a69a01cdSopenharmony_ci int result = -1; 57a69a01cdSopenharmony_ci if (isBack_) { 58a69a01cdSopenharmony_ci result = sprintf_s(buffer, sizeof(buffer), "Swap: (%d, %d) -> (%d, %d)", endX_, endY_, startX_, startY_); 59a69a01cdSopenharmony_ci } else { 60a69a01cdSopenharmony_ci result = sprintf_s(buffer, sizeof(buffer), "Swap: (%d, %d) -> (%d, %d)", startX_, startY_, endX_, endY_); 61a69a01cdSopenharmony_ci } 62a69a01cdSopenharmony_ci if (result < 0) { 63a69a01cdSopenharmony_ci return SpcialTestObject::toString(); 64a69a01cdSopenharmony_ci } 65a69a01cdSopenharmony_ci return std::string(buffer); 66a69a01cdSopenharmony_ci } 67a69a01cdSopenharmony_ci int startX_ = -1; 68a69a01cdSopenharmony_ci int startY_ = -1; 69a69a01cdSopenharmony_ci int endX_ = -1; 70a69a01cdSopenharmony_ci int endY_ = -1; 71a69a01cdSopenharmony_ci bool isGoBack_ = false; 72a69a01cdSopenharmony_ci bool isBack_ = false; 73a69a01cdSopenharmony_ci}; 74a69a01cdSopenharmony_ciclass TouchParam : public SpcialTestObject { 75a69a01cdSopenharmony_cipublic: 76a69a01cdSopenharmony_ci TouchParam() 77a69a01cdSopenharmony_ci { 78a69a01cdSopenharmony_ci } 79a69a01cdSopenharmony_ci virtual ~TouchParam() 80a69a01cdSopenharmony_ci { 81a69a01cdSopenharmony_ci } 82a69a01cdSopenharmony_ci virtual std::string toString() 83a69a01cdSopenharmony_ci { 84a69a01cdSopenharmony_ci char buffer[50]; 85a69a01cdSopenharmony_ci int result = sprintf_s(buffer, sizeof(buffer), "Point: (%d, %d)", x_, y_); 86a69a01cdSopenharmony_ci if (result < 0) { 87a69a01cdSopenharmony_ci return SpcialTestObject::toString(); 88a69a01cdSopenharmony_ci } 89a69a01cdSopenharmony_ci return std::string(buffer); 90a69a01cdSopenharmony_ci } 91a69a01cdSopenharmony_ci int x_ = -1; 92a69a01cdSopenharmony_ci int y_ = -1; 93a69a01cdSopenharmony_ci}; 94a69a01cdSopenharmony_ciclass AppSwitchParam : public SpcialTestObject { 95a69a01cdSopenharmony_cipublic: 96a69a01cdSopenharmony_ci AppSwitchParam() 97a69a01cdSopenharmony_ci { 98a69a01cdSopenharmony_ci } 99a69a01cdSopenharmony_ci virtual ~AppSwitchParam() 100a69a01cdSopenharmony_ci { 101a69a01cdSopenharmony_ci } 102a69a01cdSopenharmony_ci virtual std::string toString() 103a69a01cdSopenharmony_ci { 104a69a01cdSopenharmony_ci char buffer[50]; 105a69a01cdSopenharmony_ci int result = sprintf_s(buffer, sizeof(buffer), "Bundlename: (%s)", bundlename_.c_str()); 106a69a01cdSopenharmony_ci if (result < 0) { 107a69a01cdSopenharmony_ci return SpcialTestObject::toString(); 108a69a01cdSopenharmony_ci } 109a69a01cdSopenharmony_ci return std::string(buffer); 110a69a01cdSopenharmony_ci } 111a69a01cdSopenharmony_ci std::string bundlename_ = " "; 112a69a01cdSopenharmony_ci}; 113a69a01cdSopenharmony_ciclass ComponentParam : public SpcialTestObject { 114a69a01cdSopenharmony_cipublic: 115a69a01cdSopenharmony_ci ComponentParam() 116a69a01cdSopenharmony_ci { 117a69a01cdSopenharmony_ci bundleName_.clear(); 118a69a01cdSopenharmony_ci bundleRunning_.clear(); 119a69a01cdSopenharmony_ci bundleFinish_.clear(); 120a69a01cdSopenharmony_ci } 121a69a01cdSopenharmony_ci virtual ~ComponentParam() 122a69a01cdSopenharmony_ci { 123a69a01cdSopenharmony_ci } 124a69a01cdSopenharmony_ci virtual std::string toString() 125a69a01cdSopenharmony_ci { 126a69a01cdSopenharmony_ci std::stringstream ss; 127a69a01cdSopenharmony_ci ss << "Bundle : "; 128a69a01cdSopenharmony_ci for (uint32_t index = 0; index < bundleName_.size(); index++) { 129a69a01cdSopenharmony_ci ss << "[" << bundleName_[index] << ":" << bundleRunning_[index] << ":" << bundleFinish_[index] << "]"; 130a69a01cdSopenharmony_ci } 131a69a01cdSopenharmony_ci ss << "AllFinished: " << isAllFinished_; 132a69a01cdSopenharmony_ci return ss.str(); 133a69a01cdSopenharmony_ci } 134a69a01cdSopenharmony_ci 135a69a01cdSopenharmony_ci void PushBundleName(const std::string& name) 136a69a01cdSopenharmony_ci { 137a69a01cdSopenharmony_ci bundleName_.push_back(name); 138a69a01cdSopenharmony_ci bundleRunning_.push_back(false); 139a69a01cdSopenharmony_ci bundleFinish_.push_back(false); 140a69a01cdSopenharmony_ci pageBack_.push_back(0); 141a69a01cdSopenharmony_ci lanuchCount_.push_back(0); 142a69a01cdSopenharmony_ci } 143a69a01cdSopenharmony_ci std::vector<std::string> bundleName_; 144a69a01cdSopenharmony_ci std::vector<bool> bundleRunning_; 145a69a01cdSopenharmony_ci std::vector<bool> bundleFinish_; 146a69a01cdSopenharmony_ci std::vector<uint32_t> pageBack_; 147a69a01cdSopenharmony_ci std::vector<uint32_t> lanuchCount_; 148a69a01cdSopenharmony_ci}; 149a69a01cdSopenharmony_ciclass RecordParam : public SpcialTestObject { 150a69a01cdSopenharmony_cipublic: 151a69a01cdSopenharmony_ci RecordParam() 152a69a01cdSopenharmony_ci { 153a69a01cdSopenharmony_ci } 154a69a01cdSopenharmony_ci virtual ~RecordParam() 155a69a01cdSopenharmony_ci { 156a69a01cdSopenharmony_ci } 157a69a01cdSopenharmony_ci std::string recordName_; 158a69a01cdSopenharmony_ci bool recordStatus_ = false; 159a69a01cdSopenharmony_ci}; 160a69a01cdSopenharmony_ci} // namespace WuKong 161a69a01cdSopenharmony_ci} // namespace OHOS 162a69a01cdSopenharmony_ci#endif 163