LCOV - code coverage report
Current view: top level - tests/intersection - IntersectionPriorityToRightSingaporeTests.cpp (source / functions) Hit Total Coverage
Test: ad_map_access Lines: 241 241 100.0 %
Date: 2022-10-04 09:48:07 Functions: 90 90 100.0 %
Branches: 160 320 50.0 %

           Branch data     Line data    Source code
       1                 :            : // ----------------- BEGIN LICENSE BLOCK ---------------------------------
       2                 :            : //
       3                 :            : // Copyright (C) 2018-2021 Intel Corporation
       4                 :            : //
       5                 :            : // SPDX-License-Identifier: MIT
       6                 :            : //
       7                 :            : // ----------------- END LICENSE BLOCK -----------------------------------
       8                 :            : 
       9                 :            : #include "IntersectionPriorityToRightSingaporeTests.hpp"
      10                 :            : #include "MapSetup.hpp"
      11                 :            : 
      12                 :            : /*
      13                 :            :  * see https://sso.agc.gov.sg/SL/RTA1961-R11?ProvIds=P1IV- for details on special Singapore priority handling here
      14                 :            :  */
      15                 :            : 
      16                 :            : namespace ad {
      17                 :            : namespace map {
      18                 :            : 
      19                 :         12 : void IntersectionPriorityToRightSingaporeTest::prepareMap() const
      20                 :            : {
      21                 :         12 :   ::map_setup::prepareMapBasicPriorityToRightSingapore();
      22                 :         12 : }
      23                 :            : 
      24                 :         12 : intersection::IntersectionType IntersectionPriorityToRightSingaporeTest::expectedIntersectionType() const
      25                 :            : {
      26                 :         12 :   return intersection::IntersectionType::PriorityToRightAndStraight;
      27                 :            : }
      28                 :            : 
      29                 :          3 : lane::LaneId IntersectionPriorityToRightSingaporeFromWestTest::getRouteStart() const
      30                 :            : {
      31                 :          3 :   return mFromWest;
      32                 :            : }
      33                 :            : 
      34                 :          1 : lane::LaneId IntersectionPriorityToRightSingaporeWestToNorthTest::getRouteEnd() const
      35                 :            : {
      36                 :          1 :   return mToNorth;
      37                 :            : }
      38                 :            : 
      39                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeWestToNorthTest::expectedIncomingLanesWithHigherPriority() const
      40                 :            : {
      41                 :          2 :   return getIncomingLanesSouth();
      42                 :            : }
      43                 :            : 
      44                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeWestToNorthTest::expectedIncomingLanesWithLowerPriority() const
      45                 :            : {
      46   [ +  -  +  -  :          6 :   return createUnorderedLaneIdSet({getIncomingLanesNorth(), getIncomingLanesEast()});
             +  +  -  - ]
      47                 :            : }
      48                 :            : 
      49                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeWestToNorthTest::expectedInternalLanesWithHigherPriority() const
      50                 :            : {
      51                 :            :   return createUnorderedLaneIdSet(
      52   [ +  -  +  -  :          4 :     {mSouthToEast.mInternalLanes, mSouthToNorth.mInternalLanes, mSouthToWest.mInternalLanes});
             +  +  -  - ]
      53                 :            : }
      54                 :            : 
      55                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeWestToNorthTest::expectedCrossingLanes() const
      56                 :            : {
      57                 :            :   return createUnorderedLaneIdSet(
      58   [ +  -  +  -  :          4 :     {mEastToNorth.mInternalLanes, mSouthToEast.mInternalLanes, mSouthToNorth.mInternalLanes});
             +  +  -  - ]
      59                 :            : }
      60                 :            : 
      61                 :          2 : TEST_F(IntersectionPriorityToRightSingaporeWestToNorthTest, basic_checks)
      62                 :            : {
      63                 :          1 :   performBasicChecks();
      64                 :          1 : }
      65                 :            : 
      66                 :          1 : lane::LaneId IntersectionPriorityToRightSingaporeWestToEastTest::getRouteEnd() const
      67                 :            : {
      68                 :          1 :   return mToEast;
      69                 :            : }
      70                 :            : 
      71                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeWestToEastTest::expectedIncomingLanesWithHigherPriority() const
      72                 :            : {
      73   [ +  -  +  -  :          4 :   return createUnorderedLaneIdSet({getIncomingLanesSouth()});
             +  +  -  - ]
      74                 :            : }
      75                 :            : 
      76                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeWestToEastTest::expectedIncomingLanesWithLowerPriority() const
      77                 :            : {
      78   [ +  -  +  -  :          6 :   return createUnorderedLaneIdSet({getIncomingLanesEast(), getIncomingLanesNorth()});
             +  +  -  - ]
      79                 :            : }
      80                 :            : 
      81                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeWestToEastTest::expectedInternalLanesWithHigherPriority() const
      82                 :            : {
      83   [ +  -  +  -  :          3 :   return createUnorderedLaneIdSet({mSouthToNorth.mInternalLanes, mSouthToWest.mInternalLanes});
             +  +  -  - ]
      84                 :            : }
      85                 :            : 
      86                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeWestToEastTest::expectedCrossingLanes() const
      87                 :            : {
      88                 :          1 :   return createUnorderedLaneIdSet({mNorthToEast.mInternalLanes,
      89                 :          1 :                                    mNorthToWest.mInternalLanes,
      90                 :          1 :                                    mEastToNorth.mInternalLanes,
      91                 :          1 :                                    mSouthToNorth.mInternalLanes,
      92                 :          1 :                                    mSouthToEast.mInternalLanes,
      93   [ +  -  +  -  :          7 :                                    mNorthToSouth.mInternalLanes});
             +  +  -  - ]
      94                 :            : }
      95                 :            : 
      96                 :          2 : TEST_F(IntersectionPriorityToRightSingaporeWestToEastTest, basic_checks)
      97                 :            : {
      98                 :          1 :   performBasicChecks();
      99                 :          1 : }
     100                 :            : 
     101                 :          1 : lane::LaneId IntersectionPriorityToRightSingaporeWestToSouthTest::getRouteEnd() const
     102                 :            : {
     103                 :          1 :   return mToSouth;
     104                 :            : }
     105                 :            : 
     106                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeWestToSouthTest::expectedIncomingLanesWithHigherPriority() const
     107                 :            : {
     108   [ +  -  +  -  :          8 :   return createUnorderedLaneIdSet({getIncomingLanesEast(), getIncomingLanesSouth(), getIncomingLanesNorth()});
             +  +  -  - ]
     109                 :            : }
     110                 :            : 
     111                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeWestToSouthTest::expectedIncomingLanesWithLowerPriority() const
     112                 :            : {
     113                 :          2 :   return lane::LaneIdSet();
     114                 :            : }
     115                 :            : 
     116                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeWestToSouthTest::expectedInternalLanesWithHigherPriority() const
     117                 :            : {
     118                 :          1 :   return createUnorderedLaneIdSet({mSouthToNorth.mInternalLanes,
     119                 :          1 :                                    mSouthToEast.mInternalLanes,
     120                 :          1 :                                    mSouthToWest.mInternalLanes,
     121                 :          1 :                                    mEastToSouth.mInternalLanes,
     122                 :          1 :                                    mEastToWest.mInternalLanes,
     123                 :          1 :                                    mEastToNorth.mInternalLanes,
     124   [ +  -  +  -  :          8 :                                    mNorthToSouth.mInternalLanes});
             +  +  -  - ]
     125                 :            : }
     126                 :            : 
     127                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeWestToSouthTest::expectedCrossingLanes() const
     128                 :            : {
     129                 :          1 :   return createUnorderedLaneIdSet({mNorthToEast.mInternalLanes,
     130                 :          1 :                                    mNorthToWest.mInternalLanes,
     131                 :          1 :                                    mSouthToNorth.mInternalLanes,
     132                 :          1 :                                    mSouthToEast.mInternalLanes,
     133                 :          1 :                                    mEastToSouth.mInternalLanes,
     134                 :          1 :                                    mEastToWest.mInternalLanes,
     135                 :          1 :                                    mEastToNorth.mInternalLanes,
     136   [ +  -  +  -  :          9 :                                    mNorthToSouth.mInternalLanes});
             +  +  -  - ]
     137                 :            : }
     138                 :            : 
     139                 :          2 : TEST_F(IntersectionPriorityToRightSingaporeWestToSouthTest, basic_checks)
     140                 :            : {
     141                 :          1 :   performBasicChecks();
     142                 :          1 : }
     143                 :            : 
     144                 :          3 : lane::LaneId IntersectionPriorityToRightSingaporeFromNorthTest::getRouteStart() const
     145                 :            : {
     146                 :          3 :   return mFromNorth;
     147                 :            : }
     148                 :            : 
     149                 :          1 : lane::LaneId IntersectionPriorityToRightSingaporeNorthToEastTest::getRouteEnd() const
     150                 :            : {
     151                 :          1 :   return mToEast;
     152                 :            : }
     153                 :            : 
     154                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeNorthToEastTest::expectedIncomingLanesWithHigherPriority() const
     155                 :            : {
     156                 :          2 :   return getIncomingLanesWest();
     157                 :            : }
     158                 :            : 
     159                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeNorthToEastTest::expectedIncomingLanesWithLowerPriority() const
     160                 :            : {
     161   [ +  -  +  -  :          6 :   return createUnorderedLaneIdSet({getIncomingLanesEast(), getIncomingLanesSouth()});
             +  +  -  - ]
     162                 :            : }
     163                 :            : 
     164                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeNorthToEastTest::expectedInternalLanesWithHigherPriority() const
     165                 :            : {
     166                 :            :   return createUnorderedLaneIdSet(
     167   [ +  -  +  -  :          4 :     {mWestToSouth.mInternalLanes, mWestToEast.mInternalLanes, mWestToNorth.mInternalLanes});
             +  +  -  - ]
     168                 :            : }
     169                 :            : 
     170                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeNorthToEastTest::expectedCrossingLanes() const
     171                 :            : {
     172                 :            :   return createUnorderedLaneIdSet(
     173   [ +  -  +  -  :          4 :     {mSouthToEast.mInternalLanes, mWestToSouth.mInternalLanes, mWestToEast.mInternalLanes});
             +  +  -  - ]
     174                 :            : }
     175                 :            : 
     176                 :          2 : TEST_F(IntersectionPriorityToRightSingaporeNorthToEastTest, basic_checks)
     177                 :            : {
     178                 :          1 :   performBasicChecks();
     179                 :          1 : }
     180                 :            : 
     181                 :          1 : lane::LaneId IntersectionPriorityToRightSingaporeNorthToSouthTest::getRouteEnd() const
     182                 :            : {
     183                 :          1 :   return mToSouth;
     184                 :            : }
     185                 :            : 
     186                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeNorthToSouthTest::expectedIncomingLanesWithHigherPriority() const
     187                 :            : {
     188   [ +  -  +  -  :          4 :   return createUnorderedLaneIdSet({getIncomingLanesWest()});
             +  +  -  - ]
     189                 :            : }
     190                 :            : 
     191                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeNorthToSouthTest::expectedIncomingLanesWithLowerPriority() const
     192                 :            : {
     193   [ +  -  +  -  :          6 :   return createUnorderedLaneIdSet({getIncomingLanesSouth(), getIncomingLanesEast()});
             +  +  -  - ]
     194                 :            : }
     195                 :            : 
     196                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeNorthToSouthTest::expectedInternalLanesWithHigherPriority() const
     197                 :            : {
     198   [ +  -  +  -  :          3 :   return createUnorderedLaneIdSet({mWestToEast.mInternalLanes, mWestToNorth.mInternalLanes});
             +  +  -  - ]
     199                 :            : }
     200                 :            : 
     201                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeNorthToSouthTest::expectedCrossingLanes() const
     202                 :            : {
     203                 :          1 :   return createUnorderedLaneIdSet({mEastToSouth.mInternalLanes,
     204                 :          1 :                                    mEastToNorth.mInternalLanes,
     205                 :          1 :                                    mSouthToEast.mInternalLanes,
     206                 :          1 :                                    mWestToEast.mInternalLanes,
     207                 :          1 :                                    mWestToSouth.mInternalLanes,
     208   [ +  -  +  -  :          7 :                                    mEastToWest.mInternalLanes});
             +  +  -  - ]
     209                 :            : }
     210                 :            : 
     211                 :          2 : TEST_F(IntersectionPriorityToRightSingaporeNorthToSouthTest, basic_checks)
     212                 :            : {
     213                 :          1 :   performBasicChecks();
     214                 :          1 : }
     215                 :            : 
     216                 :          1 : lane::LaneId IntersectionPriorityToRightSingaporeNorthToWestTest::getRouteEnd() const
     217                 :            : {
     218                 :          1 :   return mToWest;
     219                 :            : }
     220                 :            : 
     221                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeNorthToWestTest::expectedIncomingLanesWithHigherPriority() const
     222                 :            : {
     223   [ +  -  +  -  :          8 :   return createUnorderedLaneIdSet({getIncomingLanesSouth(), getIncomingLanesWest(), getIncomingLanesEast()});
             +  +  -  - ]
     224                 :            : }
     225                 :            : 
     226                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeNorthToWestTest::expectedIncomingLanesWithLowerPriority() const
     227                 :            : {
     228                 :          2 :   return lane::LaneIdSet();
     229                 :            : }
     230                 :            : 
     231                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeNorthToWestTest::expectedInternalLanesWithHigherPriority() const
     232                 :            : {
     233                 :          1 :   return createUnorderedLaneIdSet({mWestToEast.mInternalLanes,
     234                 :          1 :                                    mWestToSouth.mInternalLanes,
     235                 :          1 :                                    mWestToNorth.mInternalLanes,
     236                 :          1 :                                    mSouthToWest.mInternalLanes,
     237                 :          1 :                                    mSouthToNorth.mInternalLanes,
     238                 :          1 :                                    mSouthToEast.mInternalLanes,
     239   [ +  -  +  -  :          8 :                                    mEastToWest.mInternalLanes});
             +  +  -  - ]
     240                 :            : }
     241                 :            : 
     242                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeNorthToWestTest::expectedCrossingLanes() const
     243                 :            : {
     244                 :          1 :   return createUnorderedLaneIdSet({mEastToSouth.mInternalLanes,
     245                 :          1 :                                    mEastToNorth.mInternalLanes,
     246                 :          1 :                                    mWestToEast.mInternalLanes,
     247                 :          1 :                                    mWestToSouth.mInternalLanes,
     248                 :          1 :                                    mSouthToWest.mInternalLanes,
     249                 :          1 :                                    mSouthToNorth.mInternalLanes,
     250                 :          1 :                                    mSouthToEast.mInternalLanes,
     251   [ +  -  +  -  :          9 :                                    mEastToWest.mInternalLanes});
             +  +  -  - ]
     252                 :            : }
     253                 :            : 
     254                 :          2 : TEST_F(IntersectionPriorityToRightSingaporeNorthToWestTest, basic_checks)
     255                 :            : {
     256                 :          1 :   performBasicChecks();
     257                 :          1 : }
     258                 :            : 
     259                 :          3 : lane::LaneId IntersectionPriorityToRightSingaporeFromEastTest::getRouteStart() const
     260                 :            : {
     261                 :          3 :   return mFromEast;
     262                 :            : }
     263                 :            : 
     264                 :          1 : lane::LaneId IntersectionPriorityToRightSingaporeEastToSouthTest::getRouteEnd() const
     265                 :            : {
     266                 :          1 :   return mToSouth;
     267                 :            : }
     268                 :            : 
     269                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeEastToSouthTest::expectedIncomingLanesWithHigherPriority() const
     270                 :            : {
     271                 :          2 :   return getIncomingLanesNorth();
     272                 :            : }
     273                 :            : 
     274                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeEastToSouthTest::expectedIncomingLanesWithLowerPriority() const
     275                 :            : {
     276   [ +  -  +  -  :          6 :   return createUnorderedLaneIdSet({getIncomingLanesSouth(), getIncomingLanesWest()});
             +  +  -  - ]
     277                 :            : }
     278                 :            : 
     279                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeEastToSouthTest::expectedInternalLanesWithHigherPriority() const
     280                 :            : {
     281                 :            :   return createUnorderedLaneIdSet(
     282   [ +  -  +  -  :          4 :     {mNorthToWest.mInternalLanes, mNorthToSouth.mInternalLanes, mNorthToEast.mInternalLanes});
             +  +  -  - ]
     283                 :            : }
     284                 :            : 
     285                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeEastToSouthTest::expectedCrossingLanes() const
     286                 :            : {
     287                 :            :   return createUnorderedLaneIdSet(
     288   [ +  -  +  -  :          4 :     {mWestToSouth.mInternalLanes, mNorthToWest.mInternalLanes, mNorthToSouth.mInternalLanes});
             +  +  -  - ]
     289                 :            : }
     290                 :            : 
     291                 :          2 : TEST_F(IntersectionPriorityToRightSingaporeEastToSouthTest, basic_checks)
     292                 :            : {
     293                 :          1 :   performBasicChecks();
     294                 :          1 : }
     295                 :            : 
     296                 :          1 : lane::LaneId IntersectionPriorityToRightSingaporeEastToWestTest::getRouteEnd() const
     297                 :            : {
     298                 :          1 :   return mToWest;
     299                 :            : }
     300                 :            : 
     301                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeEastToWestTest::expectedIncomingLanesWithHigherPriority() const
     302                 :            : {
     303   [ +  -  +  -  :          4 :   return createUnorderedLaneIdSet({getIncomingLanesNorth()});
             +  +  -  - ]
     304                 :            : }
     305                 :            : 
     306                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeEastToWestTest::expectedIncomingLanesWithLowerPriority() const
     307                 :            : {
     308   [ +  -  +  -  :          6 :   return createUnorderedLaneIdSet({getIncomingLanesWest(), getIncomingLanesSouth()});
             +  +  -  - ]
     309                 :            : }
     310                 :            : 
     311                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeEastToWestTest::expectedInternalLanesWithHigherPriority() const
     312                 :            : {
     313   [ +  -  +  -  :          3 :   return createUnorderedLaneIdSet({mNorthToSouth.mInternalLanes, mNorthToEast.mInternalLanes});
             +  +  -  - ]
     314                 :            : }
     315                 :            : 
     316                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeEastToWestTest::expectedCrossingLanes() const
     317                 :            : {
     318                 :          1 :   return createUnorderedLaneIdSet({mSouthToWest.mInternalLanes,
     319                 :          1 :                                    mSouthToEast.mInternalLanes,
     320                 :          1 :                                    mWestToSouth.mInternalLanes,
     321                 :          1 :                                    mNorthToSouth.mInternalLanes,
     322                 :          1 :                                    mNorthToWest.mInternalLanes,
     323   [ +  -  +  -  :          7 :                                    mSouthToNorth.mInternalLanes});
             +  +  -  - ]
     324                 :            : }
     325                 :            : 
     326                 :          2 : TEST_F(IntersectionPriorityToRightSingaporeEastToWestTest, basic_checks)
     327                 :            : {
     328                 :          1 :   performBasicChecks();
     329                 :          1 : }
     330                 :            : 
     331                 :          1 : lane::LaneId IntersectionPriorityToRightSingaporeEastToNorthTest::getRouteEnd() const
     332                 :            : {
     333                 :          1 :   return mToNorth;
     334                 :            : }
     335                 :            : 
     336                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeEastToNorthTest::expectedIncomingLanesWithHigherPriority() const
     337                 :            : {
     338   [ +  -  +  -  :          8 :   return createUnorderedLaneIdSet({getIncomingLanesWest(), getIncomingLanesNorth(), getIncomingLanesSouth()});
             +  +  -  - ]
     339                 :            : }
     340                 :            : 
     341                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeEastToNorthTest::expectedIncomingLanesWithLowerPriority() const
     342                 :            : {
     343                 :          2 :   return lane::LaneIdSet();
     344                 :            : }
     345                 :            : 
     346                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeEastToNorthTest::expectedInternalLanesWithHigherPriority() const
     347                 :            : {
     348                 :          1 :   return createUnorderedLaneIdSet({mNorthToSouth.mInternalLanes,
     349                 :          1 :                                    mNorthToWest.mInternalLanes,
     350                 :          1 :                                    mNorthToEast.mInternalLanes,
     351                 :          1 :                                    mWestToNorth.mInternalLanes,
     352                 :          1 :                                    mWestToEast.mInternalLanes,
     353                 :          1 :                                    mWestToSouth.mInternalLanes,
     354   [ +  -  +  -  :          8 :                                    mSouthToNorth.mInternalLanes});
             +  +  -  - ]
     355                 :            : }
     356                 :            : 
     357                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeEastToNorthTest::expectedCrossingLanes() const
     358                 :            : {
     359                 :          1 :   return createUnorderedLaneIdSet({mSouthToWest.mInternalLanes,
     360                 :          1 :                                    mSouthToEast.mInternalLanes,
     361                 :          1 :                                    mNorthToSouth.mInternalLanes,
     362                 :          1 :                                    mNorthToWest.mInternalLanes,
     363                 :          1 :                                    mWestToNorth.mInternalLanes,
     364                 :          1 :                                    mWestToEast.mInternalLanes,
     365                 :          1 :                                    mWestToSouth.mInternalLanes,
     366   [ +  -  +  -  :          9 :                                    mSouthToNorth.mInternalLanes});
             +  +  -  - ]
     367                 :            : }
     368                 :            : 
     369                 :          2 : TEST_F(IntersectionPriorityToRightSingaporeEastToNorthTest, basic_checks)
     370                 :            : {
     371                 :          1 :   performBasicChecks();
     372                 :          1 : }
     373                 :            : 
     374                 :          3 : lane::LaneId IntersectionPriorityToRightSingaporeFromSouthTest::getRouteStart() const
     375                 :            : {
     376                 :          3 :   return mFromSouth;
     377                 :            : }
     378                 :            : 
     379                 :          1 : lane::LaneId IntersectionPriorityToRightSingaporeSouthToWestTest::getRouteEnd() const
     380                 :            : {
     381                 :          1 :   return mToWest;
     382                 :            : }
     383                 :            : 
     384                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeSouthToWestTest::expectedIncomingLanesWithHigherPriority() const
     385                 :            : {
     386                 :          2 :   return getIncomingLanesEast();
     387                 :            : }
     388                 :            : 
     389                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeSouthToWestTest::expectedIncomingLanesWithLowerPriority() const
     390                 :            : {
     391   [ +  -  +  -  :          6 :   return createUnorderedLaneIdSet({getIncomingLanesWest(), getIncomingLanesNorth()});
             +  +  -  - ]
     392                 :            : }
     393                 :            : 
     394                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeSouthToWestTest::expectedInternalLanesWithHigherPriority() const
     395                 :            : {
     396                 :            :   return createUnorderedLaneIdSet(
     397   [ +  -  +  -  :          4 :     {mEastToNorth.mInternalLanes, mEastToWest.mInternalLanes, mEastToSouth.mInternalLanes});
             +  +  -  - ]
     398                 :            : }
     399                 :            : 
     400                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeSouthToWestTest::expectedCrossingLanes() const
     401                 :            : {
     402                 :            :   return createUnorderedLaneIdSet(
     403   [ +  -  +  -  :          4 :     {mNorthToWest.mInternalLanes, mEastToNorth.mInternalLanes, mEastToWest.mInternalLanes});
             +  +  -  - ]
     404                 :            : }
     405                 :            : 
     406                 :          2 : TEST_F(IntersectionPriorityToRightSingaporeSouthToWestTest, basic_checks)
     407                 :            : {
     408                 :          1 :   performBasicChecks();
     409                 :          1 : }
     410                 :            : 
     411                 :          1 : lane::LaneId IntersectionPriorityToRightSingaporeSouthToNorthTest::getRouteEnd() const
     412                 :            : {
     413                 :          1 :   return mToNorth;
     414                 :            : }
     415                 :            : 
     416                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeSouthToNorthTest::expectedIncomingLanesWithHigherPriority() const
     417                 :            : {
     418   [ +  -  +  -  :          4 :   return createUnorderedLaneIdSet({getIncomingLanesEast()});
             +  +  -  - ]
     419                 :            : }
     420                 :            : 
     421                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeSouthToNorthTest::expectedIncomingLanesWithLowerPriority() const
     422                 :            : {
     423   [ +  -  +  -  :          6 :   return createUnorderedLaneIdSet({getIncomingLanesNorth(), getIncomingLanesWest()});
             +  +  -  - ]
     424                 :            : }
     425                 :            : 
     426                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeSouthToNorthTest::expectedInternalLanesWithHigherPriority() const
     427                 :            : {
     428   [ +  -  +  -  :          3 :   return createUnorderedLaneIdSet({mEastToWest.mInternalLanes, mEastToSouth.mInternalLanes});
             +  +  -  - ]
     429                 :            : }
     430                 :            : 
     431                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeSouthToNorthTest::expectedCrossingLanes() const
     432                 :            : {
     433                 :          1 :   return createUnorderedLaneIdSet({mWestToNorth.mInternalLanes,
     434                 :          1 :                                    mWestToSouth.mInternalLanes,
     435                 :          1 :                                    mNorthToWest.mInternalLanes,
     436                 :          1 :                                    mEastToWest.mInternalLanes,
     437                 :          1 :                                    mEastToNorth.mInternalLanes,
     438   [ +  -  +  -  :          7 :                                    mWestToEast.mInternalLanes});
             +  +  -  - ]
     439                 :            : }
     440                 :            : 
     441                 :          2 : TEST_F(IntersectionPriorityToRightSingaporeSouthToNorthTest, basic_checks)
     442                 :            : {
     443                 :          1 :   performBasicChecks();
     444                 :          1 : }
     445                 :            : 
     446                 :          1 : lane::LaneId IntersectionPriorityToRightSingaporeSouthToEastTest::getRouteEnd() const
     447                 :            : {
     448                 :          1 :   return mToEast;
     449                 :            : }
     450                 :            : 
     451                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeSouthToEastTest::expectedIncomingLanesWithHigherPriority() const
     452                 :            : {
     453   [ +  -  +  -  :          8 :   return createUnorderedLaneIdSet({getIncomingLanesNorth(), getIncomingLanesEast(), getIncomingLanesWest()});
             +  +  -  - ]
     454                 :            : }
     455                 :            : 
     456                 :          2 : lane::LaneIdSet IntersectionPriorityToRightSingaporeSouthToEastTest::expectedIncomingLanesWithLowerPriority() const
     457                 :            : {
     458                 :          2 :   return lane::LaneIdSet();
     459                 :            : }
     460                 :            : 
     461                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeSouthToEastTest::expectedInternalLanesWithHigherPriority() const
     462                 :            : {
     463                 :          1 :   return createUnorderedLaneIdSet({mEastToWest.mInternalLanes,
     464                 :          1 :                                    mEastToNorth.mInternalLanes,
     465                 :          1 :                                    mEastToSouth.mInternalLanes,
     466                 :          1 :                                    mNorthToEast.mInternalLanes,
     467                 :          1 :                                    mNorthToSouth.mInternalLanes,
     468                 :          1 :                                    mNorthToWest.mInternalLanes,
     469   [ +  -  +  -  :          8 :                                    mWestToEast.mInternalLanes});
             +  +  -  - ]
     470                 :            : }
     471                 :            : 
     472                 :          1 : lane::LaneIdSet IntersectionPriorityToRightSingaporeSouthToEastTest::expectedCrossingLanes() const
     473                 :            : {
     474                 :          1 :   return createUnorderedLaneIdSet({mWestToNorth.mInternalLanes,
     475                 :          1 :                                    mWestToSouth.mInternalLanes,
     476                 :          1 :                                    mEastToWest.mInternalLanes,
     477                 :          1 :                                    mEastToNorth.mInternalLanes,
     478                 :          1 :                                    mNorthToEast.mInternalLanes,
     479                 :          1 :                                    mNorthToSouth.mInternalLanes,
     480                 :          1 :                                    mNorthToWest.mInternalLanes,
     481   [ +  -  +  -  :          9 :                                    mWestToEast.mInternalLanes});
             +  +  -  - ]
     482                 :            : }
     483                 :            : 
     484                 :          2 : TEST_F(IntersectionPriorityToRightSingaporeSouthToEastTest, basic_checks)
     485                 :            : {
     486                 :          1 :   performBasicChecks();
     487                 :          1 : }
     488                 :            : 
     489                 :            : } // namespace map
     490                 :            : } // namespace ad

Generated by: LCOV version 1.14