@@ -60,7 +60,7 @@ final class ValueTests: XCTestCase {
60
60
// Arrange
61
61
struct TestStruct : Codable , Equatable {
62
62
let name : String
63
- let salary : Decimal
63
+ let salary : String
64
64
}
65
65
let value : Cadence . Value = . optional( . struct(
66
66
id: " id " ,
@@ -74,7 +74,7 @@ final class ValueTests: XCTestCase {
74
74
let result : TestStruct ? = try value. toSwiftValue ( )
75
75
76
76
// Assert
77
- XCTAssertEqual ( result, TestStruct ( name: " Scott " , salary: 0.01 ) )
77
+ XCTAssertEqual ( result, TestStruct ( name: " Scott " , salary: " 0.01 " ) )
78
78
XCTAssertThrowsError ( try value. toSwiftValue ( decodableType: Int . self) )
79
79
}
80
80
@@ -445,7 +445,7 @@ final class ValueTests: XCTestCase {
445
445
func testToSwiftValueEvent( ) throws {
446
446
// Arrange
447
447
struct TokensWithdrawn : Codable , Equatable {
448
- let amount : Decimal
448
+ let amount : String
449
449
let from : Address ?
450
450
}
451
451
let amount = Decimal ( string: " 0.00000169 " ) !
@@ -466,13 +466,13 @@ final class ValueTests: XCTestCase {
466
466
let result : TokensWithdrawn = try value. toSwiftValue ( )
467
467
468
468
// Assert
469
- XCTAssertEqual ( result, TokensWithdrawn ( amount: amount, from: address) )
469
+ XCTAssertEqual ( result, TokensWithdrawn ( amount: amount. description , from: address) )
470
470
}
471
471
472
472
func testToSwiftValueEventWithNil( ) throws {
473
473
// Arrange
474
474
struct TokensWithdrawn : Codable , Equatable {
475
- let amount : Decimal
475
+ let amount : String
476
476
let from : Address ?
477
477
}
478
478
let amount = Decimal ( string: " 0.00000169 " ) !
@@ -492,7 +492,7 @@ final class ValueTests: XCTestCase {
492
492
let result : TokensWithdrawn = try value. toSwiftValue ( )
493
493
494
494
// Assert
495
- XCTAssertEqual ( result, TokensWithdrawn ( amount: amount, from: nil ) )
495
+ XCTAssertEqual ( result, TokensWithdrawn ( amount: amount. description , from: nil ) )
496
496
}
497
497
498
498
func testToSwiftValueContract( ) throws {
@@ -661,6 +661,16 @@ final class ValueTests: XCTestCase {
661
661
// Arrange
662
662
struct TestStruct : Codable , Equatable {
663
663
let value : Decimal
664
+
665
+ init ( from decoder: Decoder ) throws {
666
+ let container = try decoder. container ( keyedBy: CodingKeys . self)
667
+ let value = try container. decode ( String . self, forKey: . value)
668
+ self . value = Decimal ( string: value) ?? 0
669
+ }
670
+
671
+ init ( value: Decimal ) {
672
+ self . value = value
673
+ }
664
674
}
665
675
let decimalValue = Decimal ( string: " 0.007601 " ) !
666
676
let value : Cadence . Value = . optional( . struct(
0 commit comments