import Foundation import Testing @testable import NorgKit struct NorgNodeTests { private let block = NorgBlock.paragraph(content: [InlineSpan(text: "x")], line: 0) @Test func defaultsToNoChildren() { #expect(NorgNode(block: block).children.isEmpty) } @Test func storesBlockAndChildren() { let child = NorgNode(block: block) let node = NorgNode(block: block, children: [child]) #expect(node.block == block) #expect(node.children == [child]) } @Test func equatableComparesBlockAndChildren() { #expect(NorgNode(block: block) == NorgNode(block: block)) #expect(NorgNode(block: block, children: [NorgNode(block: block)]) != NorgNode(block: block)) } @Test func roundTripsThroughJSON() throws { let node = NorgNode(block: block, children: [NorgNode(block: block)]) let data = try JSONEncoder().encode(node) #expect(try JSONDecoder().decode(NorgNode.self, from: data) == node) } }