use std::time::Duration;
use torin::geometry::Size2D;
#[derive(Clone, Copy)]
pub struct TestingConfig {
pub(crate) vdom_timeout: Duration,
pub(crate) size: Size2D,
pub(crate) run_ticker: bool,
}
impl Default for TestingConfig {
fn default() -> Self {
Self {
vdom_timeout: Duration::from_millis(16),
size: Size2D::from((500.0, 500.0)),
run_ticker: true,
}
}
}
impl TestingConfig {
pub fn new() -> Self {
TestingConfig::default()
}
pub fn with_size(&mut self, size: Size2D) -> &mut Self {
self.size = size;
self
}
pub fn with_vdom_timeout(&mut self, vdom_timeout: Duration) -> &mut Self {
self.vdom_timeout = vdom_timeout;
self
}
pub fn size(&self) -> Size2D {
self.size
}
pub fn vdom_timeout(&self) -> Duration {
self.vdom_timeout
}
pub fn enable_ticker(&mut self, ticker: bool) {
self.run_ticker = ticker;
}
}