use crate::base::state::State;
#[derive(Clone, Debug, PartialEq)]
pub struct RealVectorState {
pub values: Vec<f64>,
}
impl RealVectorState {
pub fn new(vals: Vec<f64>) -> Self {
RealVectorState { values: vals }
}
}
impl State for RealVectorState {
fn as_any(&self) -> &dyn std::any::Any {
self
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_real_vector_state_creation() {
let state = RealVectorState {
values: vec![1.0, 2.0],
};
assert_eq!(state.values, vec![1.0, 2.0]);
}
#[test]
fn test_real_vector_state_clone() {
let state1 = RealVectorState {
values: vec![1.0, 2.0],
};
let state2 = state1.clone();
assert_eq!(state1, state2);
}
}