File tree 1 file changed +44
-0
lines changed
Tests/DynamicCodableTests
1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change @@ -36,6 +36,50 @@ final class DynamicCodableTests: XCTestCase {
36
36
XCTAssertEqual ( test [ . int( 2 ) ] , . int( 2 ) )
37
37
}
38
38
39
+ func testLiterals( ) {
40
+ let test : DynamicCodable = nil
41
+ XCTAssertEqual ( test, . nil ) // Make sure XCTAssertEqual doesn't mis-interpret nil
42
+
43
+ XCTAssertEqual ( DynamicCodable . int ( 5 ) , 5 )
44
+ XCTAssertEqual ( DynamicCodable . float64 ( 5.5 ) , 5.5 )
45
+ XCTAssertEqual ( DynamicCodable . bool ( true ) , true )
46
+ XCTAssertEqual ( DynamicCodable . bool ( false ) , false )
47
+ XCTAssertEqual ( DynamicCodable . string ( " A " ) , " A " )
48
+ XCTAssertEqual ( DynamicCodable . string ( " 1 " ) , " \( 1 ) " )
49
+ XCTAssertEqual (
50
+ DynamicCodable . unkeyed (
51
+ [
52
+ . empty,
53
+ . nil ,
54
+ . bool( true ) ,
55
+ . int( 5 ) ,
56
+ . float64( 5.5 ) ,
57
+ . string( " A " )
58
+ ]
59
+ ) , [
60
+ . empty,
61
+ nil ,
62
+ true ,
63
+ 5 ,
64
+ 5.5 ,
65
+ " A "
66
+ ]
67
+ )
68
+ XCTAssertEqual (
69
+ DynamicCodable . keyed (
70
+ [
71
+ . string( " A " ) : . string( " A " ) ,
72
+ . int( 1 ) : . int( 1 ) ,
73
+ . string( " 1 " ) : . string( " 2 " )
74
+ ]
75
+ ) , [
76
+ " A " : " A " ,
77
+ 1 : 1 ,
78
+ " 1 " : " 2 "
79
+ ]
80
+ )
81
+ }
82
+
39
83
func testPrimitiveDecoding( ) {
40
84
do {
41
85
let data = """
You can’t perform that action at this time.
0 commit comments