LCOV - code coverage report
Current view: top level - shared_model/backend/protobuf/query_responses/impl - proto_account_response.cpp (source / functions) Hit Total Coverage
Test: coverage_cleared.info Lines: 10 13 76.9 %
Date: 2018-12-05 17:11:35 Functions: 10 31 32.3 %

          Line data    Source code
       1             : /**
       2             :  * Copyright Soramitsu Co., Ltd. All Rights Reserved.
       3             :  * SPDX-License-Identifier: Apache-2.0
       4             :  */
       5             : 
       6             : #include "backend/protobuf/query_responses/proto_account_response.hpp"
       7             : 
       8             : namespace shared_model {
       9             :   namespace proto {
      10             : 
      11             :     template <typename QueryResponseType>
      12             :     AccountResponse::AccountResponse(QueryResponseType &&queryResponse)
      13          27 :         : CopyableProto(std::forward<QueryResponseType>(queryResponse)),
      14          27 :           accountResponse_{proto_->account_response()},
      15             :           accountRoles_{[this] {
      16          10 :             return boost::accumulate(
      17          10 :                 accountResponse_.account_roles(),
      18          10 :                 AccountRolesIdType{},
      19             :                 [](auto &&roles, const auto &role) {
      20          11 :                   roles.push_back(interface::types::RoleIdType(role));
      21          11 :                   return std::move(roles);
      22           0 :                 });
      23           0 :           }},
      24             :           account_{[this] { return Account(accountResponse_.account()); }} {}
      25             : 
      26             :     template AccountResponse::AccountResponse(AccountResponse::TransportType &);
      27             :     template AccountResponse::AccountResponse(
      28             :         const AccountResponse::TransportType &);
      29             :     template AccountResponse::AccountResponse(
      30             :         AccountResponse::TransportType &&);
      31             : 
      32             :     AccountResponse::AccountResponse(const AccountResponse &o)
      33           0 :         : AccountResponse(o.proto_) {}
      34             : 
      35             :     AccountResponse::AccountResponse(AccountResponse &&o)
      36          27 :         : AccountResponse(std::move(o.proto_)) {}
      37             : 
      38             :     const interface::Account &AccountResponse::account() const {
      39          25 :       return *account_;
      40             :     }
      41             : 
      42             :     const AccountResponse::AccountRolesIdType &AccountResponse::roles() const {
      43          16 :       return *accountRoles_;
      44             :     }
      45             : 
      46             :   }  // namespace proto
      47             : }  // namespace shared_model

Generated by: LCOV version 1.13