use std::env;
pub struct A;
impl A {
fn say_something(&self) {
println!("Something")
}
}
pub struct B;
impl B {
fn say_nothing(&self) {
println!("Nohing")
}
}
pub enum X {
A { element_a: A },
B { element_b: B }
}
#[test]
pub fn teste_static_enum() {
let curdir = env::current_dir().unwrap();
println!("Running test from folder: {:?}", curdir.as_path().to_str());
let a1 = X::A { element_a: A {} };
let b1 = X::B { element_b: B {} };
match a1 {
X::A { element_a } => element_a.say_something(),
X::B { element_b } => element_b.say_nothing()
}
match b1 {
X::A { element_a } => element_a.say_something(),
X::B { element_b } => element_b.say_nothing()
}
}