diff --git a/tests/codexvalidator/testSerialization.nim b/tests/codexvalidator/transaction/testSerialization.nim similarity index 99% rename from tests/codexvalidator/testSerialization.nim rename to tests/codexvalidator/transaction/testSerialization.nim index 07d8d01..2585ae1 100644 --- a/tests/codexvalidator/testSerialization.nim +++ b/tests/codexvalidator/transaction/testSerialization.nim @@ -2,7 +2,7 @@ import std/unittest import codexvalidator/basics import codexvalidator/transaction import codexvalidator/transaction/serialization -import ./examples +import ../examples suite "Transaction serialization": diff --git a/tests/codexvalidator/transaction/testSigning.nim b/tests/codexvalidator/transaction/testSigning.nim new file mode 100644 index 0000000..ebaae28 --- /dev/null +++ b/tests/codexvalidator/transaction/testSigning.nim @@ -0,0 +1,24 @@ +import std/unittest +import codexvalidator/basics +import codexvalidator/signatures +import codexvalidator/transaction +import ../examples + +suite "Transaction signing": + + test "transactions can be signed": + let identity = Identity.example + let transaction = Transaction.example + let signed = identity.sign(transaction) + check signed.transaction == transaction + check signed.signer == identity.identifier + check signed.signature == identity.sign(transaction.toBytes()) + + test "transaction signature can be verified": + let identity = Identity.example + let transaction = Transaction.example + let signed = identity.sign(transaction) + check signed.verifySignature() + let forger = Identity.example.identifier + let forged = SignedTransaction.init(transaction, forger, signed.signature) + check not forged.verifySignature() diff --git a/tests/codexvalidator/testTransaction.nim b/tests/codexvalidator/transaction/testTransaction.nim similarity index 66% rename from tests/codexvalidator/testTransaction.nim rename to tests/codexvalidator/transaction/testTransaction.nim index 7b3df40..8424e08 100644 --- a/tests/codexvalidator/testTransaction.nim +++ b/tests/codexvalidator/transaction/testTransaction.nim @@ -1,8 +1,7 @@ import std/unittest import codexvalidator/basics -import codexvalidator/signatures import codexvalidator/transaction -import ./examples +import ../examples suite "Transaction": @@ -41,20 +40,3 @@ suite "Transaction": test "transactions have a fixed version": let transaction = Transaction.example check transaction.version == TransactionVersion.version0 - - test "transactions can be signed": - let identity = Identity.example - let transaction = Transaction.example - let signed = identity.sign(transaction) - check signed.transaction == transaction - check signed.signer == identity.identifier - check signed.signature == identity.sign(transaction.toBytes()) - - test "transaction signature can be verified": - let identity = Identity.example - let transaction = Transaction.example - let signed = identity.sign(transaction) - check signed.verifySignature() - let forger = Identity.example.identifier - let forged = SignedTransaction.init(transaction, forger, signed.signature) - check not forged.verifySignature() diff --git a/tests/tests.nim b/tests/tests.nim index 3cf621e..6f0d631 100644 --- a/tests/tests.nim +++ b/tests/tests.nim @@ -1,5 +1,6 @@ import ./codexvalidator/testSignatures -import ./codexvalidator/testSerialization -import ./codexvalidator/testTransaction +import ./codexvalidator/transaction/testTransaction +import ./codexvalidator/transaction/testSigning +import ./codexvalidator/transaction/testSerialization {.warning[UnusedImport]:off.}