 // MARK: - Helpers
 //
 private extension NSAttributedStringToNodesTests {
+
+    /// Returns the HTML resulting of converting:
+    ///
+    /// 1.  Input >> Attributed String
+    /// 2.  Attributed String >> Node
+    /// 3.  Node >> HTML
+    ///
+    func generatedHTML(input html: String) -> String {
+        let attrString = attributedString(from: html)
+        let node = rootNode(from: attrString)
+
+        return self.html(from: node)
+    }
 
     /// Converts a raw HTML String into it's NSAttributedString Representation
     ///


    /// Verifies that `<b>Bold?</b>` gets effectively translated into it's tree representation.
    ///
    func testBoldStyleGetsEffectivelyConvertedIntoBoldNode() {
        let input = "<b>Bold?</b>"
        let expected = input

        let attrString = attributedString(from: input)
        let node = rootNode(from: attrString)
        let generated = html(from: node)

        XCTAssertEqual(generated, expected)
    }

    ///
    ///
    func testListItemsGetEffectivelyMerged() {
        let input = "<blockquote><ul><li>First Line</li></ul></blockquote><blockquote><ul><li>Second Line</li></ul></blockquote>"
        let expected = "<blockquote><ul><li>First Line</li><li>Second Line</li></ul></blockquote>"

        let attrString = attributedString(from: input)
        let node = rootNode(from: attrString)
        let generated = html(from: node)

        XCTAssertEqual(generated, expected)
    }

    ///
    ///

        return attrString
    }

    /// Converts an AttributedString into it's RootNode Representation
    ///
    func rootNode(from attrString: NSAttributedString) -> RootNode {
        let converter = NSAttributedStringToNodes()
