vec[i] != (1 << i) 1 != 1 current iteration of loop: i := 0 vec[i] != (1 << i) 2 != 2 current iteration of loop: i := 1 vec[i] != (1 << i) 4 != 4 current iteration of loop: i := 2 vec[i] != (1 << i) 8 != 8 current iteration of loop: i := 3 vec[i] != (1 << i) 16 != 16 current iteration of loop: i := 4 forcing the many captures to be stringified lots of captures: 42 42 42; old way of capturing - using the streaming operator: 42 42 some_var == 666 42 == 666 someTests() returned: 42 this should be printed if an exception is thrown even if no assert has failed: 42 in a nested scope this should be printed as well: 42 why is this not 666 ?! 0 0 MY_ASSERT(false) MY_ASSERT_FATAL(false) this should not end the test case, but mark it as failing reached! fail the test case and also end it Program code.