forked from CoreOffice/XMLCoder
-
Notifications
You must be signed in to change notification settings - Fork 0
/
XMLElementTests.swift
50 lines (41 loc) · 1.37 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
//
// XMLElementTests.swift
// XMLCoderTests
//
// Created by Vincent Esche on 12/24/18.
//
import XCTest
@testable import XMLCoder
class XMLElementTests: XCTestCase {
func testInitNull() {
let null = XMLCoderElement(key: "foo")
XCTAssertEqual(null.key, "foo")
XCTAssertNil(null.value)
XCTAssertEqual(null.elements, [])
XCTAssertEqual(null.attributes, [])
}
func testInitUnkeyed() {
let keyed = XMLCoderElement(key: "foo", box: UnkeyedBox())
XCTAssertEqual(keyed.key, "foo")
XCTAssertNil(keyed.value)
XCTAssertEqual(keyed.elements, [])
XCTAssertEqual(keyed.attributes, [])
}
func testInitKeyed() {
let keyed = XMLCoderElement(key: "foo", box: KeyedBox(
elements: [] as [(String, Box)],
attributes: [("baz", NullBox()), ("blee", IntBox(42))] as [(String, SimpleBox)]
))
XCTAssertEqual(keyed.key, "foo")
XCTAssertNil(keyed.value)
XCTAssertEqual(keyed.elements, [])
XCTAssertEqual(keyed.attributes, [Attribute(key: "blee", value: "42")])
}
func testInitSimple() {
let keyed = XMLCoderElement(key: "foo", box: StringBox("bar"))
XCTAssertEqual(keyed.key, "foo")
XCTAssertEqual(keyed.value, "bar")
XCTAssertEqual(keyed.elements, [])
XCTAssertEqual(keyed.attributes, [])
}
}