anchor.diff:  
   There is also one extra feature when you use C++, the `assert_throws` function.
   
  -NOTE: If you use the runner, as described in <<runner>>, and thus link your tests into a shared library, don't forget to link it with the same C++ library that was used to create the `cgreen-runner`.
  +NOTE: If you use the autodiscovering runner, as described in <<runner>>, and thus link your tests into a shared library, don't forget to link it with the same C++ library that was used to create the `cgreen-runner`.
   
   == Context, System Under Test & Suites
   
  
positive.code: So, it's coverage __or__ POSIX-correct child exits and guaranteed output consistency.
  You can't have both...
  
  
  
  [appendix]
  
negative.code: For example, when the stream is empty nothing should happen.
  We hopefully get `NULL` from `read_paragraph` when the stream is exhausted.
  That is, it just returns a steady stream of `EOF`s.
  
  Fortunately, the code takes the stream as a parameter.
  This is called dependency injection and is a very important concept.
  Thanks to this we can write a small function, a stub, with the same signature, that simulates a real stream, and inject that instead.
  
  NOTE: If the code does not inject the dependency this way we can often use another seam to modify the dependency to use our stub instead.
  If the stream is an external function you can compile the stub separately and link with that instead the real stream.
  
  [source,c]
  -----------------------
  