LCOV - code coverage report
Current view: top level - tests/state - RssStateSafeTests.cpp (source / functions) Hit Total Coverage
Test: ad_rss Lines: 78 78 100.0 %
Date: 2024-04-23 14:35:54 Functions: 20 20 100.0 %
Branches: 47 334 14.1 %

           Branch data     Line data    Source code
       1                 :            : // ----------------- BEGIN LICENSE BLOCK ---------------------------------
       2                 :            : //
       3                 :            : // Copyright (C) 2018-2021 Intel Corporation
       4                 :            : //
       5                 :            : // SPDX-License-Identifier: LGPL-2.1-only
       6                 :            : //
       7                 :            : // ----------------- END LICENSE BLOCK -----------------------------------
       8                 :            : 
       9                 :            : #include <ad/rss/state/RssStateOperation.hpp>
      10                 :            : #include "TestSupport.hpp"
      11                 :            : 
      12                 :            : namespace ad {
      13                 :            : namespace rss {
      14                 :            : namespace state {
      15                 :            : 
      16                 :          2 : TEST(RssStateSafeTests, isSafe)
      17                 :            : {
      18                 :          1 :   state::RssState rssState;
      19         [ +  - ]:          1 :   resetRssState(rssState, 1u, 1u, situation::SituationType::SameDirection);
      20                 :            : 
      21   [ -  +  -  -  :          1 :   ASSERT_FALSE(isDangerous(rssState));
          -  -  -  -  -  
                      - ]
      22   [ -  +  -  -  :          1 :   ASSERT_TRUE(isLongitudinalSafe(rssState));
          -  -  -  -  -  
                      - ]
      23   [ -  +  -  -  :          1 :   ASSERT_TRUE(isLateralSafe(rssState));
          -  -  -  -  -  
                      - ]
      24                 :            : }
      25                 :            : 
      26                 :          2 : TEST(RssStateSafeTests, longitudinal_None)
      27                 :            : {
      28                 :          1 :   state::RssState rssState;
      29                 :          1 :   setRssStateUnsafe(rssState.longitudinalState, state::LongitudinalResponse::None);
      30         [ +  - ]:          1 :   resetRssState(rssState.lateralStateLeft);
      31         [ +  - ]:          1 :   resetRssState(rssState.lateralStateRight);
      32                 :            : 
      33   [ -  +  -  -  :          1 :   ASSERT_FALSE(isDangerous(rssState));
          -  -  -  -  -  
                      - ]
      34   [ -  +  -  -  :          1 :   ASSERT_FALSE(isLongitudinalSafe(rssState));
          -  -  -  -  -  
                      - ]
      35   [ -  +  -  -  :          1 :   ASSERT_TRUE(isLateralSafe(rssState));
          -  -  -  -  -  
                      - ]
      36                 :            : }
      37                 :            : 
      38                 :          2 : TEST(RssStateSafeTests, longitudinal_BrakeMin)
      39                 :            : {
      40                 :          1 :   state::RssState rssState;
      41                 :          1 :   setRssStateUnsafe(rssState.longitudinalState, state::LongitudinalResponse::BrakeMin);
      42         [ +  - ]:          1 :   resetRssState(rssState.lateralStateLeft);
      43         [ +  - ]:          1 :   resetRssState(rssState.lateralStateRight);
      44                 :            : 
      45   [ -  +  -  -  :          1 :   ASSERT_FALSE(isDangerous(rssState));
          -  -  -  -  -  
                      - ]
      46   [ -  +  -  -  :          1 :   ASSERT_FALSE(isLongitudinalSafe(rssState));
          -  -  -  -  -  
                      - ]
      47   [ -  +  -  -  :          1 :   ASSERT_TRUE(isLateralSafe(rssState));
          -  -  -  -  -  
                      - ]
      48                 :            : }
      49                 :            : 
      50                 :          2 : TEST(RssStateSafeTests, longitudinal_BrakeMinCorrect)
      51                 :            : {
      52                 :          1 :   state::RssState rssState;
      53                 :          1 :   setRssStateUnsafe(rssState.longitudinalState, state::LongitudinalResponse::BrakeMinCorrect);
      54         [ +  - ]:          1 :   resetRssState(rssState.lateralStateLeft);
      55         [ +  - ]:          1 :   resetRssState(rssState.lateralStateRight);
      56                 :            : 
      57   [ -  +  -  -  :          1 :   ASSERT_FALSE(isDangerous(rssState));
          -  -  -  -  -  
                      - ]
      58   [ -  +  -  -  :          1 :   ASSERT_FALSE(isLongitudinalSafe(rssState));
          -  -  -  -  -  
                      - ]
      59   [ -  +  -  -  :          1 :   ASSERT_TRUE(isLateralSafe(rssState));
          -  -  -  -  -  
                      - ]
      60                 :            : }
      61                 :            : 
      62                 :          2 : TEST(RssStateSafeTests, lateralLeft_None)
      63                 :            : {
      64                 :          1 :   state::RssState rssState;
      65         [ +  - ]:          1 :   resetRssState(rssState.longitudinalState);
      66                 :          1 :   setRssStateUnsafe(rssState.lateralStateLeft, state::LateralResponse::None);
      67         [ +  - ]:          1 :   resetRssState(rssState.lateralStateRight);
      68                 :            : 
      69   [ -  +  -  -  :          1 :   ASSERT_FALSE(isDangerous(rssState));
          -  -  -  -  -  
                      - ]
      70   [ -  +  -  -  :          1 :   ASSERT_TRUE(isLongitudinalSafe(rssState));
          -  -  -  -  -  
                      - ]
      71   [ -  +  -  -  :          1 :   ASSERT_FALSE(isLateralSafe(rssState));
          -  -  -  -  -  
                      - ]
      72                 :            : }
      73                 :            : 
      74                 :          2 : TEST(RssStateSafeTests, lateralLeft_BrakeMin)
      75                 :            : {
      76                 :          1 :   state::RssState rssState;
      77         [ +  - ]:          1 :   resetRssState(rssState.longitudinalState);
      78                 :          1 :   setRssStateUnsafe(rssState.lateralStateLeft, state::LateralResponse::BrakeMin);
      79         [ +  - ]:          1 :   resetRssState(rssState.lateralStateRight);
      80                 :            : 
      81   [ -  +  -  -  :          1 :   ASSERT_FALSE(isDangerous(rssState));
          -  -  -  -  -  
                      - ]
      82   [ -  +  -  -  :          1 :   ASSERT_TRUE(isLongitudinalSafe(rssState));
          -  -  -  -  -  
                      - ]
      83   [ -  +  -  -  :          1 :   ASSERT_FALSE(isLateralSafe(rssState));
          -  -  -  -  -  
                      - ]
      84                 :            : }
      85                 :            : 
      86                 :          2 : TEST(RssStateSafeTests, lateralRight_None)
      87                 :            : {
      88                 :          1 :   state::RssState rssState;
      89         [ +  - ]:          1 :   resetRssState(rssState.longitudinalState);
      90         [ +  - ]:          1 :   resetRssState(rssState.lateralStateLeft);
      91                 :          1 :   setRssStateUnsafe(rssState.lateralStateRight, state::LateralResponse::None);
      92                 :            : 
      93   [ -  +  -  -  :          1 :   ASSERT_FALSE(isDangerous(rssState));
          -  -  -  -  -  
                      - ]
      94   [ -  +  -  -  :          1 :   ASSERT_TRUE(isLongitudinalSafe(rssState));
          -  -  -  -  -  
                      - ]
      95   [ -  +  -  -  :          1 :   ASSERT_FALSE(isLateralSafe(rssState));
          -  -  -  -  -  
                      - ]
      96                 :            : }
      97                 :            : 
      98                 :          2 : TEST(RssStateSafeTests, lateralRight_BrakeMin)
      99                 :            : {
     100                 :          1 :   state::RssState rssState;
     101         [ +  - ]:          1 :   resetRssState(rssState.longitudinalState);
     102         [ +  - ]:          1 :   resetRssState(rssState.lateralStateLeft);
     103                 :          1 :   setRssStateUnsafe(rssState.lateralStateRight, state::LateralResponse::BrakeMin);
     104                 :            : 
     105   [ -  +  -  -  :          1 :   ASSERT_FALSE(isDangerous(rssState));
          -  -  -  -  -  
                      - ]
     106   [ -  +  -  -  :          1 :   ASSERT_TRUE(isLongitudinalSafe(rssState));
          -  -  -  -  -  
                      - ]
     107   [ -  +  -  -  :          1 :   ASSERT_FALSE(isLateralSafe(rssState));
          -  -  -  -  -  
                      - ]
     108                 :            : }
     109                 :            : 
     110                 :          2 : TEST(RssStateSafeTests, longitudinal_lateralRight_BrakeMin)
     111                 :            : {
     112                 :          1 :   state::RssState rssState;
     113                 :          1 :   setRssStateUnsafe(rssState.longitudinalState, state::LongitudinalResponse::BrakeMin);
     114         [ +  - ]:          1 :   resetRssState(rssState.lateralStateLeft);
     115                 :          1 :   setRssStateUnsafe(rssState.lateralStateRight, state::LateralResponse::BrakeMin);
     116                 :            : 
     117   [ -  +  -  -  :          1 :   ASSERT_TRUE(isDangerous(rssState));
          -  -  -  -  -  
                      - ]
     118   [ -  +  -  -  :          1 :   ASSERT_FALSE(isLongitudinalSafe(rssState));
          -  -  -  -  -  
                      - ]
     119   [ -  +  -  -  :          1 :   ASSERT_FALSE(isLateralSafe(rssState));
          -  -  -  -  -  
                      - ]
     120                 :            : }
     121                 :            : 
     122                 :          2 : TEST(RssStateSafeTests, longitudinal_lateralLeft_BrakeMin)
     123                 :            : {
     124                 :          1 :   state::RssState rssState;
     125                 :          1 :   setRssStateUnsafe(rssState.longitudinalState, state::LongitudinalResponse::BrakeMin);
     126                 :          1 :   setRssStateUnsafe(rssState.lateralStateLeft, state::LateralResponse::BrakeMin);
     127         [ +  - ]:          1 :   resetRssState(rssState.lateralStateRight);
     128                 :            : 
     129   [ -  +  -  -  :          1 :   ASSERT_TRUE(isDangerous(rssState));
          -  -  -  -  -  
                      - ]
     130   [ -  +  -  -  :          1 :   ASSERT_FALSE(isLongitudinalSafe(rssState));
          -  -  -  -  -  
                      - ]
     131   [ -  +  -  -  :          1 :   ASSERT_FALSE(isLateralSafe(rssState));
          -  -  -  -  -  
                      - ]
     132                 :            : }
     133                 :            : 
     134                 :            : } // namespace state
     135                 :            : } // namespace rss
     136                 :            : } // namespace ad

Generated by: LCOV version 1.14