pub struct TestScenarioEngine {
pub scenarios: HashMap<String, TestScenario>,
pub execution_history: VecDeque<ScenarioExecution>,
pub generators: Vec<ProblemGenerator>,
pub validation_rules: Vec<ValidationRule>,
}Expand description
Test scenario engine for complex problem generation
Fields§
§scenarios: HashMap<String, TestScenario>Available test scenarios
execution_history: VecDeque<ScenarioExecution>Scenario execution history
generators: Vec<ProblemGenerator>Problem generators
validation_rules: Vec<ValidationRule>Validation rules
Implementations§
Source§impl TestScenarioEngine
impl TestScenarioEngine
pub fn new() -> Self
Sourcepub fn add_scenario(&mut self, scenario: TestScenario)
pub fn add_scenario(&mut self, scenario: TestScenario)
Add new test scenario
Sourcepub fn remove_scenario(&mut self, scenario_id: &str) -> Option<TestScenario>
pub fn remove_scenario(&mut self, scenario_id: &str) -> Option<TestScenario>
Remove test scenario
Sourcepub fn get_scenario(&self, scenario_id: &str) -> Option<&TestScenario>
pub fn get_scenario(&self, scenario_id: &str) -> Option<&TestScenario>
Get scenario by ID
Sourcepub fn record_execution(&mut self, execution: ScenarioExecution)
pub fn record_execution(&mut self, execution: ScenarioExecution)
Record scenario execution
Sourcepub fn get_execution_history(
&self,
scenario_id: &str,
) -> Vec<&ScenarioExecution>
pub fn get_execution_history( &self, scenario_id: &str, ) -> Vec<&ScenarioExecution>
Get execution history for scenario
Sourcepub fn generate_problem(
&self,
spec: &ProblemSpecification,
) -> ApplicationResult<IsingModel>
pub fn generate_problem( &self, spec: &ProblemSpecification, ) -> ApplicationResult<IsingModel>
Generate problem from specification
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TestScenarioEngine
impl RefUnwindSafe for TestScenarioEngine
impl Send for TestScenarioEngine
impl Sync for TestScenarioEngine
impl Unpin for TestScenarioEngine
impl UnsafeUnpin for TestScenarioEngine
impl UnwindSafe for TestScenarioEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.