use ctxbuilder::prelude::*;
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
enum PetType {
Dog,
Cat,
}
#[test]
fn test_subcontext() {
let ctx = ctxbuilder::ctx().with(PetType::Cat);
let mut subctx = ctx.sub();
assert_eq!(subctx.get(), Some(&PetType::Cat));
subctx.insert(PetType::Dog);
assert_eq!(subctx.get(), Some(&PetType::Dog));
assert_eq!(ctx.get(), Some(&PetType::Cat));
}