mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-01-29 17:18:08 -05:00
tests(chain): add unit tests (#411)
* add chain id and display unit tests * add from, into and default implementation tests * add encodable length test for id chain
This commit is contained in:
committed by
GitHub
parent
6e622d7533
commit
2b1bb05ca3
@@ -137,3 +137,118 @@ impl Default for Chain {
|
||||
ethers_core::types::Chain::Mainnet.into()
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_id() {
|
||||
let chain = Chain::Id(1234);
|
||||
assert_eq!(chain.id(), 1234);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_named_id() {
|
||||
let chain = Chain::Named(ethers_core::types::Chain::Goerli);
|
||||
assert_eq!(chain.id(), 5);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_legacy_named_chain() {
|
||||
let chain = Chain::Named(ethers_core::types::Chain::Optimism);
|
||||
assert!(chain.is_legacy());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_not_legacy_named_chain() {
|
||||
let chain = Chain::Named(ethers_core::types::Chain::Mainnet);
|
||||
assert!(!chain.is_legacy());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_not_legacy_id_chain() {
|
||||
let chain = Chain::Id(1234);
|
||||
assert!(!chain.is_legacy());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_display_named_chain() {
|
||||
let chain = Chain::Named(ethers_core::types::Chain::Mainnet);
|
||||
assert_eq!(format!("{}", chain), "mainnet");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_display_id_chain() {
|
||||
let chain = Chain::Id(1234);
|
||||
assert_eq!(format!("{}", chain), "1234");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_from_u256() {
|
||||
let n = U256::from(1234);
|
||||
let chain = Chain::from(n);
|
||||
let expected = Chain::Id(1234);
|
||||
|
||||
assert_eq!(chain, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_into_u256() {
|
||||
let chain = Chain::Named(ethers_core::types::Chain::Goerli);
|
||||
let n: U256 = chain.into();
|
||||
let expected = U256::from(5);
|
||||
|
||||
assert_eq!(n, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[allow(non_snake_case)]
|
||||
fn test_into_U64() {
|
||||
let chain = Chain::Named(ethers_core::types::Chain::Goerli);
|
||||
let n: U64 = chain.into();
|
||||
let expected = U64::from(5);
|
||||
|
||||
assert_eq!(n, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_from_str_named_chain() {
|
||||
let result = Chain::from_str("mainnet");
|
||||
let expected = Chain::Named(ethers_core::types::Chain::Mainnet);
|
||||
|
||||
assert!(result.is_ok());
|
||||
assert_eq!(result.unwrap(), expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_from_str_named_chain_error() {
|
||||
let result = Chain::from_str("chain");
|
||||
|
||||
assert!(result.is_err());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_from_str_id_chain() {
|
||||
let result = Chain::from_str("1234");
|
||||
let expected = Chain::Id(1234);
|
||||
|
||||
assert!(result.is_ok());
|
||||
assert_eq!(result.unwrap(), expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_default() {
|
||||
let default = Chain::default();
|
||||
let expected = Chain::Named(ethers_core::types::Chain::Mainnet);
|
||||
|
||||
assert_eq!(default, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_id_chain_encodable_length() {
|
||||
let chain = Chain::Id(1234);
|
||||
|
||||
assert_eq!(chain.length(), 3);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user