From d70c16d9000636a1f5d9115248c31c843301a08e Mon Sep 17 00:00:00 2001 From: Adam Mika <88001738+amika-sq@users.noreply.github.com> Date: Thu, 4 Jan 2024 10:39:42 -0700 Subject: [PATCH] Use swift-custom-dump's `XCTAssertNoDifference` for test vectors (#9) --- Package.swift | 6 +++++- Tests/tbDEXTests/crypto/Ed25519Tests.swift | 13 +++++++------ Tests/tbDEXTests/crypto/Secp256k1Tests.swift | 9 +++++---- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/Package.swift b/Package.swift index 4b13c75..3f2fff0 100644 --- a/Package.swift +++ b/Package.swift @@ -16,6 +16,7 @@ let package = Package( dependencies: [ .package(url: "https://github.com/GigaBitcoin/secp256k1.swift.git", from: "0.14.0"), .package(url: "https://github.com/swift-extras/swift-extras-base64.git", from: "0.7.0"), + .package(url: "https://github.com/pointfreeco/swift-custom-dump.git", from: "1.1.2"), ], targets: [ .target( @@ -27,7 +28,10 @@ let package = Package( ), .testTarget( name: "tbDEXTests", - dependencies: ["tbDEX"], + dependencies: [ + "tbDEX", + .product(name: "CustomDump", package: "swift-custom-dump"), + ], resources: [ .copy("TestVectors/ed25519"), .copy("TestVectors/secp256k1"), diff --git a/Tests/tbDEXTests/crypto/Ed25519Tests.swift b/Tests/tbDEXTests/crypto/Ed25519Tests.swift index 39d986f..82d9573 100644 --- a/Tests/tbDEXTests/crypto/Ed25519Tests.swift +++ b/Tests/tbDEXTests/crypto/Ed25519Tests.swift @@ -1,3 +1,4 @@ +import CustomDump import XCTest @testable import tbDEX @@ -27,7 +28,7 @@ final class Ed25519Tests: XCTestCase { for vector in testVector.vectors { let privateKeyBytes = Data.fromHexString(vector.input["privateKeyBytes"]!)! let privateKey = try Ed25519.shared.bytesToPrivateKey(privateKeyBytes) - XCTAssertEqual(privateKey, vector.output) + XCTAssertNoDifference(privateKey, vector.output) } } @@ -40,7 +41,7 @@ final class Ed25519Tests: XCTestCase { for vector in testVector.vectors { let publicKeyBytes = Data.fromHexString(vector.input["publicKeyBytes"]!)! let publicKey = try Ed25519.shared.bytesToPublicKey(publicKeyBytes) - XCTAssertEqual(publicKey, vector.output) + XCTAssertNoDifference(publicKey, vector.output) } } @@ -52,7 +53,7 @@ final class Ed25519Tests: XCTestCase { for vector in testVector.vectors { let publicKey = try Ed25519.shared.computePublicKey(privateKey: vector.input["privateKey"]!) - XCTAssertEqual(publicKey, vector.output) + XCTAssertNoDifference(publicKey, vector.output) } } @@ -64,7 +65,7 @@ final class Ed25519Tests: XCTestCase { for vector in testVector.vectors { let privateKeyBytes = try Ed25519.shared.privateKeyToBytes(vector.input["privateKey"]!) - XCTAssertEqual(privateKeyBytes, Data.fromHexString(vector.output)!) + XCTAssertNoDifference(privateKeyBytes, Data.fromHexString(vector.output)!) } } @@ -76,7 +77,7 @@ final class Ed25519Tests: XCTestCase { for vector in testVector.vectors { let publicKeyBytes = try Ed25519.shared.publicKeyToBytes(vector.input["publicKey"]!) - XCTAssertEqual(publicKeyBytes, Data.fromHexString(vector.output)!) + XCTAssertNoDifference(publicKeyBytes, Data.fromHexString(vector.output)!) } } @@ -141,7 +142,7 @@ final class Ed25519Tests: XCTestCase { signature: Data.fromHexString(vector.input.signature)!, signedPayload: Data.fromHexString(vector.input.data)! ) - XCTAssertEqual(isValid, vector.output) + XCTAssertNoDifference(isValid, vector.output) } } diff --git a/Tests/tbDEXTests/crypto/Secp256k1Tests.swift b/Tests/tbDEXTests/crypto/Secp256k1Tests.swift index 80d0399..ac492bc 100644 --- a/Tests/tbDEXTests/crypto/Secp256k1Tests.swift +++ b/Tests/tbDEXTests/crypto/Secp256k1Tests.swift @@ -1,3 +1,4 @@ +import CustomDump import XCTest import secp256k1 @@ -55,7 +56,7 @@ final class Secp256k1Tests: XCTestCase { for vector in testVector.vectors { let privateKeyBytes = Data.fromHexString(vector.input["privateKeyBytes"]!)! let privateKey = try Secp256k1.shared.bytesToPrivateKey(privateKeyBytes) - XCTAssertEqual(privateKey, vector.output) + XCTAssertNoDifference(privateKey, vector.output) } } @@ -82,7 +83,7 @@ final class Secp256k1Tests: XCTestCase { for vector in testVector.vectors { let privateKeyBytes = Data.fromHexString(vector.input["publicKeyBytes"]!)! let publicKey = try Secp256k1.shared.bytesToPublicKey(privateKeyBytes) - XCTAssertEqual(publicKey, vector.output) + XCTAssertNoDifference(publicKey, vector.output) } } @@ -191,7 +192,7 @@ final class Secp256k1Tests: XCTestCase { for vector in testVector.vectors { let privateKeyBytes = Data.fromHexString(vector.input["key"]!)! - XCTAssertEqual(Secp256k1.shared.validatePrivateKey(privateKeyBytes: privateKeyBytes), vector.output) + XCTAssertNoDifference(Secp256k1.shared.validatePrivateKey(privateKeyBytes: privateKeyBytes), vector.output) } } @@ -203,7 +204,7 @@ final class Secp256k1Tests: XCTestCase { for vector in testVector.vectors { let publicKeyBytes = Data.fromHexString(vector.input["key"]!)! - XCTAssertEqual(Secp256k1.shared.validatePublicKey(publicKeyBytes: publicKeyBytes), vector.output) + XCTAssertNoDifference(Secp256k1.shared.validatePublicKey(publicKeyBytes: publicKeyBytes), vector.output) } }