public void MoveTo_DoesDeepMove()
    {
        // Arrange
        var source = new DefaultTagHelperContent();

        var nested = new DefaultTagHelperContent();

        source.AppendHtml(nested);
        nested.AppendHtml(new HtmlString("hello"));
        source.Append("Test");

        var items       = new List <object>();
        var destination = new HtmlContentBuilder(items);

        destination.Append("some-content");

        // Act
        source.MoveTo(destination);

        // Assert
        Assert.Equal(string.Empty, source.GetContent());
        Assert.Equal(string.Empty, nested.GetContent());
        Assert.Equal(3, items.Count);

        Assert.Equal("some-content", Assert.IsType <string>(items[0]));
        Assert.Equal("hello", Assert.IsType <HtmlString>(items[1]).Value);
        Assert.Equal("Test", Assert.IsType <string>(items[2]));
    }