token tests p1 (#2700)
* token tests p1 * token tests - address review comments * fix cs
This commit is contained in:
parent
eedcbd8602
commit
fe7b848024
|
@ -286,3 +286,78 @@ fn unpack_coption_u64(src: &[u8; 12]) -> Result<COption<u64>, ProgramError> {
|
|||
_ => Err(ProgramError::InvalidAccountData),
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_mint_unpack_from_slice() {
|
||||
let src: [u8; 82] = [0; 82];
|
||||
let mint = Mint::unpack_from_slice(&src).unwrap();
|
||||
assert!(!mint.is_initialized);
|
||||
|
||||
let mut src: [u8; 82] = [0; 82];
|
||||
src[45] = 2;
|
||||
let mint = Mint::unpack_from_slice(&src).unwrap_err();
|
||||
assert_eq!(mint, ProgramError::InvalidAccountData);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_account_state() {
|
||||
let account_state = AccountState::default();
|
||||
assert_eq!(account_state, AccountState::Uninitialized);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_multisig_unpack_from_slice() {
|
||||
let src: [u8; 355] = [0; 355];
|
||||
let multisig = Multisig::unpack_from_slice(&src).unwrap();
|
||||
assert_eq!(multisig.m, 0);
|
||||
assert_eq!(multisig.n, 0);
|
||||
assert!(!multisig.is_initialized);
|
||||
|
||||
let mut src: [u8; 355] = [0; 355];
|
||||
src[0] = 1;
|
||||
src[1] = 1;
|
||||
src[2] = 1;
|
||||
let multisig = Multisig::unpack_from_slice(&src).unwrap();
|
||||
assert_eq!(multisig.m, 1);
|
||||
assert_eq!(multisig.n, 1);
|
||||
assert!(multisig.is_initialized);
|
||||
|
||||
let mut src: [u8; 355] = [0; 355];
|
||||
src[2] = 2;
|
||||
let multisig = Multisig::unpack_from_slice(&src).unwrap_err();
|
||||
assert_eq!(multisig, ProgramError::InvalidAccountData);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_unpack_coption_key() {
|
||||
let src: [u8; 36] = [0; 36];
|
||||
let result = unpack_coption_key(&src).unwrap();
|
||||
assert_eq!(result, COption::None);
|
||||
|
||||
let mut src: [u8; 36] = [0; 36];
|
||||
src[1] = 1;
|
||||
let result = unpack_coption_key(&src).unwrap_err();
|
||||
assert_eq!(result, ProgramError::InvalidAccountData);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_unpack_coption_u64() {
|
||||
let src: [u8; 12] = [0; 12];
|
||||
let result = unpack_coption_u64(&src).unwrap();
|
||||
assert_eq!(result, COption::None);
|
||||
|
||||
let mut src: [u8; 12] = [0; 12];
|
||||
src[0] = 1;
|
||||
let result = unpack_coption_u64(&src).unwrap();
|
||||
assert_eq!(result, COption::Some(0));
|
||||
|
||||
let mut src: [u8; 12] = [0; 12];
|
||||
src[1] = 1;
|
||||
let result = unpack_coption_u64(&src).unwrap_err();
|
||||
assert_eq!(result, ProgramError::InvalidAccountData);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue