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])); }