-
Notifications
You must be signed in to change notification settings - Fork 104
/
XMLElementTests.swift
51 lines (42 loc) · 1.34 KB
/
XMLElementTests.swift
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//
// XMLElementTests.swift
// XMLCoderTests
//
// Created by Vincent Esche on 12/24/18.
//
import XCTest
@testable import XMLCoder
class XMLElementTests: XCTestCase {
func testInitNull() {
let null = _XMLElement(key: "foo")
XCTAssertEqual(null.key, "foo")
XCTAssertNil(null.value)
XCTAssertEqual(null.elements, [:])
XCTAssertEqual(null.attributes, [:])
}
func testInitUnkeyed() {
let keyed = _XMLElement(key: "foo", box: UnkeyedBox())
XCTAssertEqual(keyed.key, "foo")
XCTAssertNil(keyed.value)
debugPrint(keyed.elements)
XCTAssertEqual(keyed.elements, ["foo": []])
XCTAssertEqual(keyed.attributes, [:])
}
func testInitKeyed() {
let keyed = _XMLElement(key: "foo", box: KeyedBox(
elements: [:],
attributes: ["baz": NullBox(), "blee": IntBox(42)]
))
XCTAssertEqual(keyed.key, "foo")
XCTAssertNil(keyed.value)
XCTAssertEqual(keyed.elements, [:])
XCTAssertEqual(keyed.attributes, ["blee": "42"])
}
func testInitSimple() {
let keyed = _XMLElement(key: "foo", box: StringBox("bar"))
XCTAssertEqual(keyed.key, "foo")
XCTAssertEqual(keyed.value, "bar")
XCTAssertEqual(keyed.elements, [:])
XCTAssertEqual(keyed.attributes, [:])
}
}