blob: 5e60014ecba8478cb647aaca2d0b74dc476f05c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
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)
}
}
|