-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathYAMLSchemaTests.swift
89 lines (73 loc) · 2.45 KB
/
YAMLSchemaTests.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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
//
// YAMLSchemaTests.swift
// PotentCodables
//
// Copyright © 2021 Outfox, inc.
//
//
// Distributed under the MIT License, See LICENSE for details.
//
import Foundation
@testable import PotentYAML
import XCTest
class YAMLSchemaTests: XCTestCase {
let schema: YAMLSchema = .core
func testNullMatching() {
XCTAssertTrue(schema.isNull("null"))
XCTAssertTrue(schema.isNull("Null"))
XCTAssertTrue(schema.isNull("NULL"))
XCTAssertTrue(schema.isNull("~"))
XCTAssertTrue(schema.isNull(""))
XCTAssertFalse(schema.isNull("NuLL"))
}
func testBoolMatching() {
XCTAssertTrue(schema.isBool("true"))
XCTAssertTrue(schema.isBool("True"))
XCTAssertTrue(schema.isBool("TRUE"))
XCTAssertFalse(schema.isBool("TRue"))
XCTAssertTrue(schema.isBool("false"))
XCTAssertTrue(schema.isBool("False"))
XCTAssertTrue(schema.isBool("FALSE"))
XCTAssertFalse(schema.isBool("FaLSe"))
}
func testIntMatching() {
XCTAssertTrue(schema.isInt("0"))
XCTAssertTrue(schema.isInt("00"))
XCTAssertTrue(schema.isInt("19"))
XCTAssertTrue(schema.isInt("+19"))
XCTAssertTrue(schema.isInt("-19"))
XCTAssertTrue(schema.isInt("0o7"))
XCTAssertTrue(schema.isInt("0x3A"))
}
func testFloatMatching() {
XCTAssertTrue(schema.isFloat("0."))
XCTAssertTrue(schema.isFloat("+0."))
XCTAssertTrue(schema.isFloat("-0."))
XCTAssertTrue(schema.isFloat("0.0"))
XCTAssertTrue(schema.isFloat("+0.0"))
XCTAssertTrue(schema.isFloat("-0.0"))
XCTAssertTrue(schema.isFloat(".5"))
XCTAssertTrue(schema.isFloat("+.5"))
XCTAssertTrue(schema.isFloat("-.5"))
XCTAssertTrue(schema.isFloat("12e03"))
XCTAssertTrue(schema.isFloat("+12e03"))
XCTAssertTrue(schema.isFloat("-12e03"))
XCTAssertTrue(schema.isFloat("2E+05"))
XCTAssertTrue(schema.isFloat("+2E+05"))
XCTAssertTrue(schema.isFloat("-2E+05"))
XCTAssertTrue(schema.isFloat(".inf"))
XCTAssertTrue(schema.isFloat("+.inf"))
XCTAssertTrue(schema.isFloat("-.inf"))
XCTAssertTrue(schema.isFloat(".Inf"))
XCTAssertTrue(schema.isFloat("+.Inf"))
XCTAssertTrue(schema.isFloat("-.Inf"))
XCTAssertTrue(schema.isFloat(".INF"))
XCTAssertTrue(schema.isFloat("+.INF"))
XCTAssertTrue(schema.isFloat("-.INF"))
XCTAssertFalse(schema.isFloat(".inF"))
XCTAssertTrue(schema.isFloat(".nan"))
XCTAssertTrue(schema.isFloat(".NaN"))
XCTAssertTrue(schema.isFloat(".NAN"))
XCTAssertFalse(schema.isFloat(".naN"))
}
}