29 lines
1.3 KiB
Rust
29 lines
1.3 KiB
Rust
// file: crates/ksp-interface-lib/unit_tests/transaction_execution.rs
|
|
// version: 1
|
|
|
|
#[test]
|
|
fn transaction_signature_preserves_exact_bytes_and_redacts_debug() {
|
|
let signature = crate::TransactionSignature::new([0xA5_u8; 64]);
|
|
assert_eq!(signature.as_bytes(), &[0xA5_u8; 64]);
|
|
assert_eq!(std::format!("{signature:?}"), "TransactionSignature(..)");
|
|
}
|
|
|
|
#[test]
|
|
fn transaction_execution_outcomes_are_distinct_and_copy() {
|
|
let succeeded = crate::TransactionExecutionOutcome::Succeeded;
|
|
let failed = crate::TransactionExecutionOutcome::Failed;
|
|
assert_ne!(succeeded, failed);
|
|
let copied = succeeded;
|
|
assert_eq!(copied, crate::TransactionExecutionOutcome::Succeeded);
|
|
}
|
|
|
|
#[test]
|
|
fn transaction_execution_event_preserves_full_slot_signature_and_outcome() {
|
|
let signature = crate::TransactionSignature::new([0xB6_u8; 64]);
|
|
let event = crate::TransactionExecutionEvent::new(u64::MAX, signature, crate::TransactionExecutionOutcome::Failed);
|
|
assert_eq!(event.slot(), u64::MAX);
|
|
assert_eq!(event.signature(), signature);
|
|
assert_eq!(event.outcome(), crate::TransactionExecutionOutcome::Failed);
|
|
assert_eq!(std::format!("{event:?}"), "TransactionExecutionEvent { slot: 18446744073709551615, signature: \"<omitted>\", outcome: Failed }");
|
|
}
|