doctest

FORK: The fastest feature-rich C++11/14/17/20 single-header testing framework
git clone https://git.neptards.moe/neptards/doctest.git
Log | Files | Refs | README

subcases.cpp.txt (7970B)


      1 [doctest] run with "--help" for options
      2 
      3 root
      4 1
      5 1.1
      6 
      7 root
      8 2
      9 2.1
     10 
     11 root
     12 2
     13 ===============================================================================
     14 subcases.cpp(0):
     15 TEST CASE:  lots of nested subcases
     16 
     17 subcases.cpp(0): FATAL ERROR: 
     18 
     19 
     20 root
     21 outside of subcase
     22 inside subcase 0
     23 outside of subcase
     24 inside subcase 1
     25 outside of subcase
     26 inside subcase 2
     27 
     28 root
     29 outside of subcase
     30 also inside 0
     31 outside of subcase
     32 also inside 1
     33 outside of subcase
     34 also inside 2
     35 
     36 root
     37 outside of subcase
     38 fail inside 0
     39 outside of subcase
     40 ===============================================================================
     41 subcases.cpp(0):
     42 TEST CASE:  reentering subcase via regular control flow
     43 
     44 DEEPEST SUBCASE STACK REACHED (DIFFERENT FROM THE CURRENT ONE):
     45 
     46 subcases.cpp(0): FATAL ERROR: 1
     47 
     48 
     49 root
     50 outside of subcase
     51 inside outside
     52 nested twice 0, 0
     53 nested twice 0, 1
     54 nested twice 0, 2
     55 outside of subcase
     56 inside outside
     57 nested twice 1, 0
     58 nested twice 1, 1
     59 nested twice 1, 2
     60 outside of subcase
     61 inside outside
     62 nested twice 2, 0
     63 nested twice 2, 1
     64 nested twice 2, 2
     65 
     66 root
     67 outside of subcase
     68 inside outside
     69 also twice 0, 0
     70 also twice 0, 1
     71 also twice 0, 2
     72 outside of subcase
     73 inside outside
     74 also twice 1, 0
     75 also twice 1, 1
     76 also twice 1, 2
     77 outside of subcase
     78 inside outside
     79 also twice 2, 0
     80 also twice 2, 1
     81 also twice 2, 2
     82 ===============================================================================
     83 subcases.cpp(0):
     84 TEST CASE:  subcases can be used in a separate function as well
     85   from function...
     86 
     87 subcases.cpp(0): MESSAGE: print me twice
     88 
     89 ===============================================================================
     90 subcases.cpp(0):
     91 TEST CASE:  subcases can be used in a separate function as well
     92   from function...
     93   sc1
     94 
     95 subcases.cpp(0): MESSAGE: hello! from sc1
     96 
     97 ===============================================================================
     98 subcases.cpp(0):
     99 TEST CASE:  subcases can be used in a separate function as well
    100 
    101 DEEPEST SUBCASE STACK REACHED (DIFFERENT FROM THE CURRENT ONE):
    102   from function...
    103   sc1
    104 
    105 subcases.cpp(0): MESSAGE: lala
    106 
    107 ===============================================================================
    108 subcases.cpp(0):
    109 TEST CASE:  subcases can be used in a separate function as well
    110   from function...
    111 
    112 subcases.cpp(0): MESSAGE: print me twice
    113 
    114 ===============================================================================
    115 subcases.cpp(0):
    116 TEST CASE:  subcases can be used in a separate function as well
    117   from function...
    118   sc2
    119 
    120 subcases.cpp(0): MESSAGE: hello! from sc2
    121 
    122 ===============================================================================
    123 subcases.cpp(0):
    124 TEST CASE:  subcases can be used in a separate function as well
    125 
    126 DEEPEST SUBCASE STACK REACHED (DIFFERENT FROM THE CURRENT ONE):
    127   from function...
    128   sc2
    129 
    130 subcases.cpp(0): MESSAGE: lala
    131 
    132 ===============================================================================
    133 subcases.cpp(0):
    134   Scenario: vectors can be sized and resized
    135      Given: A vector with some items
    136       When: the size is increased
    137       Then: the size and capacity change
    138 
    139 subcases.cpp(0): ERROR: CHECK( v.size() == 20 ) is NOT correct!
    140   values: CHECK( 10 == 20 )
    141 
    142 ===============================================================================
    143 subcases.cpp(0):
    144   Scenario: vectors can be sized and resized
    145      Given: A vector with some items
    146       When: less capacity is reserved
    147       Then: neither size nor capacity are changed
    148 
    149 subcases.cpp(0): ERROR: CHECK( v.size() == 10 ) is NOT correct!
    150   values: CHECK( 5 == 10 )
    151 
    152 ===============================================================================
    153 subcases.cpp(0):
    154 TEST CASE:  test case should fail even though the last subcase passes
    155   one
    156 
    157 subcases.cpp(0): ERROR: CHECK( false ) is NOT correct!
    158   values: CHECK( false )
    159 
    160 ===============================================================================
    161 subcases.cpp(0):
    162 TEST CASE:  fails from an exception but gets re-entered to traverse all subcases
    163   level zero
    164   one
    165 
    166 subcases.cpp(0): ERROR: CHECK( false ) is NOT correct!
    167   values: CHECK( false )
    168 
    169 ===============================================================================
    170 subcases.cpp(0):
    171 TEST CASE:  fails from an exception but gets re-entered to traverse all subcases
    172   level zero
    173 
    174 DEEPEST SUBCASE STACK REACHED (DIFFERENT FROM THE CURRENT ONE):
    175   level zero
    176   one
    177 
    178 subcases.cpp(0): ERROR: test case THREW exception: exception thrown in subcase - will translate later when the whole test case has been exited (cannot translate while there is an active exception)
    179 
    180 ===============================================================================
    181 subcases.cpp(0):
    182 TEST CASE:  fails from an exception but gets re-entered to traverse all subcases
    183 
    184 DEEPEST SUBCASE STACK REACHED (DIFFERENT FROM THE CURRENT ONE):
    185   level zero
    186   one
    187 
    188 subcases.cpp(0): ERROR: test case THREW exception: failure... but the show must go on!
    189 
    190 ===============================================================================
    191 subcases.cpp(0):
    192 TEST CASE:  fails from an exception but gets re-entered to traverse all subcases
    193   level zero
    194   two
    195 
    196 subcases.cpp(0): ERROR: CHECK( false ) is NOT correct!
    197   values: CHECK( false )
    198 
    199 ===============================================================================
    200 subcases.cpp(0):
    201 TEST CASE:  fails from an exception but gets re-entered to traverse all subcases
    202   level zero
    203 
    204 DEEPEST SUBCASE STACK REACHED (DIFFERENT FROM THE CURRENT ONE):
    205   level zero
    206   two
    207 
    208 subcases.cpp(0): ERROR: test case THREW exception: exception thrown in subcase - will translate later when the whole test case has been exited (cannot translate while there is an active exception)
    209 
    210 ===============================================================================
    211 subcases.cpp(0):
    212 TEST CASE:  fails from an exception but gets re-entered to traverse all subcases
    213 
    214 DEEPEST SUBCASE STACK REACHED (DIFFERENT FROM THE CURRENT ONE):
    215   level zero
    216   two
    217 
    218 subcases.cpp(0): ERROR: test case THREW exception: failure... but the show must go on!
    219 
    220 ===============================================================================
    221 subcases.cpp(0):
    222 TEST CASE:  subcases with changing names
    223   outer 0
    224   inner 0
    225 
    226 subcases.cpp(0): MESSAGE: msg!
    227 
    228 ===============================================================================
    229 subcases.cpp(0):
    230 TEST CASE:  subcases with changing names
    231   outer 0
    232   inner 1
    233 
    234 subcases.cpp(0): MESSAGE: msg!
    235 
    236 ===============================================================================
    237 subcases.cpp(0):
    238 TEST CASE:  subcases with changing names
    239   outer 1
    240   inner 0
    241 
    242 subcases.cpp(0): MESSAGE: msg!
    243 
    244 ===============================================================================
    245 subcases.cpp(0):
    246 TEST CASE:  subcases with changing names
    247   outer 1
    248   inner 1
    249 
    250 subcases.cpp(0): MESSAGE: msg!
    251 
    252 ===============================================================================
    253 subcases.cpp(0):
    254 TEST CASE:  subcases with changing names
    255   separate
    256 
    257 subcases.cpp(0): MESSAGE: separate msg!
    258 
    259 ===============================================================================
    260 subcases.cpp(0):
    261 TEST SUITE: with a funny name,
    262 TEST CASE:  with a funnier name\:
    263   with the funniest name\,
    264 
    265 subcases.cpp(0): MESSAGE: Yes!
    266 
    267 ===============================================================================
    268 subcases.cpp(0):
    269 TEST SUITE: with a funny name,
    270 TEST CASE:  with a funnier name\:
    271   with a slightly funny name :
    272 
    273 subcases.cpp(0): MESSAGE: Yep!
    274 
    275 ===============================================================================
    276 subcases.cpp(0):
    277 TEST SUITE: with a funny name,
    278 TEST CASE:  with a funnier name\:
    279   without a funny name
    280 
    281 subcases.cpp(0): MESSAGE: NO!
    282 
    283 ===============================================================================
    284 subcases.cpp(0):
    285 TEST SUITE: with a funny name,
    286 TEST CASE:  without a funny name:
    287 
    288 subcases.cpp(0): MESSAGE: Nooo
    289 
    290 ===============================================================================
    291 [doctest] test cases: 10 |  5 passed | 5 failed |
    292 [doctest] assertions: 26 | 19 passed | 7 failed |
    293 [doctest] Status: FAILURE!
    294 Program code.