use amaru_kernel::{Hash, Point, Slot, any_headers_chain_with_root, utils::tests::run_strategy};
use pure_stage::simulation::RandStdRng;
use crate::tests::{
assertions::check_state,
configuration::NodeTestConfig,
setup::{create_nodes, setup_logging},
};
#[test]
fn test_connect_nodes_in_memory() -> anyhow::Result<()> {
setup_logging(true);
let conway_start_slot = Slot::from(68774400);
let root_point = Point::Specific(conway_start_slot, Hash::new([0u8; 32]));
let headers = run_strategy(any_headers_chain_with_root(5, root_point));
let mut rng = RandStdRng::from_seed(42);
let mut nodes = create_nodes(
&mut rng,
vec![
NodeTestConfig::initiator().with_chain_length(5).with_validated_blocks(vec![headers[0].clone()]),
NodeTestConfig::responder().with_chain_length(5).with_validated_blocks(headers),
],
)?;
nodes.run(&mut rng);
let resources = nodes.resources();
check_state(&resources[0], &resources[1])?;
Ok(())
}