public void TestReplace()
        {
            var parser   = new TocParser();
            var replacer = new ContentReplacer();

            var toc = parser.MakeToc(content);

            var expected = @"Table of Content
 * [1. Introduction](#1-introduction)
 * [2. Configuration](#2-configuration)
   * [2.1 Stacked configuration principle](#21-stacked-configuration-principle)
   * [2.2 Simple changes](#22-simple-changes)";

            Create.Assert2().PrintIsSame(expected, toc);


            var newVersion = @"""
""Automatic `Asser.AreEqual()` and automatic `ToString()`.""
Like a JSON serializer on drugs


Table of Content
 * [1. Introduction](#1-introduction)
 * [2. Configuration](#2-configuration)
   * [2.1 Stacked configuration principle](#21-stacked-configuration-principle)
   * [2.2 Simple changes](#22-simple-changes)


# 1. Introduction

this is the intro
and so forth


# 2. Configuration

 StatePrinter is configurable. The configuration can be broken down to three parts each of which represents .

* `IFieldHarvester` deals with how/which fields are harvested from types. E.g. only public fields are printed.
Finally, culture specific printing of dates and numbers are supported.


## 2.1 Stacked configuration principle

The Stateprinter has a configuration object that for the e use. This is due to the FILO tems in the reverse order they lues.

```C#
public static Configuration GetStandardConfiguration()

## 2.2 Simple changes

The `Configuration` class should be rather self-documenting. 
var cfg = Confi""";

            Create.Assert().PrintIsSame(newVersion, replacer.TryReplaceToc(content, toc));

            // parsing the result again must yield the same result
            Assert.AreEqual(newVersion, replacer.TryReplaceToc(newVersion, parser.MakeToc(newVersion)));
        }