mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 03:31:10 +00:00
Safe TreeRoute constructor (#12691)
* Safe TreeRoute constructor * Remove test duplicate * Better tree route error info
This commit is contained in:
@@ -231,14 +231,19 @@ mod enactment_state_tests {
|
||||
}
|
||||
};
|
||||
|
||||
Ok(TreeRoute::new(vec, pivot))
|
||||
TreeRoute::new(vec, pivot)
|
||||
}
|
||||
|
||||
mod mock_tree_route_tests {
|
||||
use super::*;
|
||||
|
||||
/// asserts that tree routes are equal
|
||||
fn assert_treeroute_eq(expected: TreeRoute<Block>, result: TreeRoute<Block>) {
|
||||
fn assert_treeroute_eq(
|
||||
expected: Result<TreeRoute<Block>, String>,
|
||||
result: Result<TreeRoute<Block>, String>,
|
||||
) {
|
||||
let expected = expected.unwrap();
|
||||
let result = result.unwrap();
|
||||
assert_eq!(result.common_block().hash, expected.common_block().hash);
|
||||
assert_eq!(result.enacted().len(), expected.enacted().len());
|
||||
assert_eq!(result.retracted().len(), expected.retracted().len());
|
||||
@@ -255,65 +260,66 @@ mod enactment_state_tests {
|
||||
}
|
||||
|
||||
// some tests for mock tree_route function
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_01() {
|
||||
let result = tree_route(b1().hash, a().hash).expect("tree route exists");
|
||||
let result = tree_route(b1().hash, a().hash);
|
||||
let expected = TreeRoute::new(vec![b1(), a()], 1);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_02() {
|
||||
let result = tree_route(a().hash, b1().hash).expect("tree route exists");
|
||||
let result = tree_route(a().hash, b1().hash);
|
||||
let expected = TreeRoute::new(vec![a(), b1()], 0);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_03() {
|
||||
let result = tree_route(a().hash, c2().hash).expect("tree route exists");
|
||||
let result = tree_route(a().hash, c2().hash);
|
||||
let expected = TreeRoute::new(vec![a(), b2(), c2()], 0);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_04() {
|
||||
let result = tree_route(e2().hash, a().hash).expect("tree route exists");
|
||||
let result = tree_route(e2().hash, a().hash);
|
||||
let expected = TreeRoute::new(vec![e2(), d2(), c2(), b2(), a()], 4);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_05() {
|
||||
let result = tree_route(d1().hash, b1().hash).expect("tree route exists");
|
||||
let result = tree_route(d1().hash, b1().hash);
|
||||
let expected = TreeRoute::new(vec![d1(), c1(), b1()], 2);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_06() {
|
||||
let result = tree_route(d2().hash, b2().hash).expect("tree route exists");
|
||||
let result = tree_route(d2().hash, b2().hash);
|
||||
let expected = TreeRoute::new(vec![d2(), c2(), b2()], 2);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_07() {
|
||||
let result = tree_route(b1().hash, d1().hash).expect("tree route exists");
|
||||
let result = tree_route(b1().hash, d1().hash);
|
||||
let expected = TreeRoute::new(vec![b1(), c1(), d1()], 0);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_08() {
|
||||
let result = tree_route(b2().hash, d2().hash).expect("tree route exists");
|
||||
let result = tree_route(b2().hash, d2().hash);
|
||||
let expected = TreeRoute::new(vec![b2(), c2(), d2()], 0);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_09() {
|
||||
let result = tree_route(e2().hash, e1().hash).expect("tree route exists");
|
||||
let result = tree_route(e2().hash, e1().hash);
|
||||
let expected =
|
||||
TreeRoute::new(vec![e2(), d2(), c2(), b2(), a(), b1(), c1(), d1(), e1()], 4);
|
||||
assert_treeroute_eq(result, expected);
|
||||
@@ -321,49 +327,49 @@ mod enactment_state_tests {
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_10() {
|
||||
let result = tree_route(e1().hash, e2().hash).expect("tree route exists");
|
||||
let result = tree_route(e1().hash, e2().hash);
|
||||
let expected =
|
||||
TreeRoute::new(vec![e1(), d1(), c1(), b1(), a(), b2(), c2(), d2(), e2()], 4);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
#[test]
|
||||
fn tree_route_mock_test_11() {
|
||||
let result = tree_route(b1().hash, c2().hash).expect("tree route exists");
|
||||
let result = tree_route(b1().hash, c2().hash);
|
||||
let expected = TreeRoute::new(vec![b1(), a(), b2(), c2()], 1);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_12() {
|
||||
let result = tree_route(d2().hash, b1().hash).expect("tree route exists");
|
||||
let result = tree_route(d2().hash, b1().hash);
|
||||
let expected = TreeRoute::new(vec![d2(), c2(), b2(), a(), b1()], 3);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_13() {
|
||||
let result = tree_route(c2().hash, e1().hash).expect("tree route exists");
|
||||
let result = tree_route(c2().hash, e1().hash);
|
||||
let expected = TreeRoute::new(vec![c2(), b2(), a(), b1(), c1(), d1(), e1()], 2);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_14() {
|
||||
let result = tree_route(b1().hash, b1().hash).expect("tree route exists");
|
||||
let result = tree_route(b1().hash, b1().hash);
|
||||
let expected = TreeRoute::new(vec![b1()], 0);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_15() {
|
||||
let result = tree_route(b2().hash, b2().hash).expect("tree route exists");
|
||||
let result = tree_route(b2().hash, b2().hash);
|
||||
let expected = TreeRoute::new(vec![b2()], 0);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn tree_route_mock_test_16() {
|
||||
let result = tree_route(a().hash, a().hash).expect("tree route exists");
|
||||
let result = tree_route(a().hash, a().hash);
|
||||
let expected = TreeRoute::new(vec![a()], 0);
|
||||
assert_treeroute_eq(result, expected);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user