Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/devkit/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ pub mod error;
pub mod harness;
pub mod simulation;
pub mod test_helpers;
pub mod types;
pub mod types;
33 changes: 32 additions & 1 deletion packages/devkit/src/test_helpers/mod.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,34 @@
use crate::simulation::fee_model::{FeeModel, FeeModelConfig};
use crate::types::FeeRecord;

/// Returns a deterministic fee sequence of `count` records seeded by `seed`.
pub fn make_fee_sequence(count: usize, seed: u64) -> Vec<FeeRecord> {
let config = FeeModelConfig {
seed: Some(seed),
..Default::default()
};
FeeModel::new(config).generate(count, 0)
}

/// Returns a fee sequence where every record is flagged as a spike.
pub fn make_spike_sequence(count: usize) -> Vec<FeeRecord> {
let config = FeeModelConfig {
spike_probability: 1.0,
seed: Some(0),
..Default::default()
};
FeeModel::new(config).generate(count, 0)
}

/// Returns a fee sequence with no spikes (baseline load only).
pub fn make_baseline_sequence(count: usize) -> Vec<FeeRecord> {
let config = FeeModelConfig {
spike_probability: 0.0,
seed: Some(1),
..Default::default()
};
FeeModel::new(config).generate(count, 0)
}
//! Test helpers: deterministic fee sequence generator and SQLite fixture builder.

use rand::{Rng, SeedableRng};
Expand Down Expand Up @@ -83,4 +114,4 @@ mod tests {
fn flat_returns_uniform_sequence() {
assert_eq!(FeeGenerator::flat(500, 5), vec![500u64; 5]);
}
}
}
Loading