/* *Copyright (c) 2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef TEST_WUKONG_STATISTICS_ABILITY_H #define TEST_WUKONG_STATISTICS_ABILITY_H #include #include #include "data_set.h" #include "statistics.h" #include "wukong_define.h" namespace OHOS { namespace WuKong { namespace { class AbilityStatisticsRecord { public: std::string bundleName_ = ""; uint32_t inputedAbilityCount_ = 0; uint32_t abilitiesCount_ = 0; std::vector inputedAbilities_; }; } // namespace class StatisticsAbility : public Statistics { public: StatisticsAbility() = default; ~StatisticsAbility() = default; void StatisticsDetail(std::vector> srcDatas, std::map> &destTables); private: void UpdateLine(std::shared_ptr abilityStatisticsRecordPtr, std::vector &line); void SrcDatasPretreatment(std::vector> srcDatas); std::map> abilityStatisticsMsg_; std::vector bundles_; std::vector headers_ = {"bundleName", "inputedAbilityCount", "abilitiesCount", "coverage"}; std::vector> record_; }; } // namespace WuKong } // namespace OHOS #endif