#[macro_use(model, create, incr)] extern crate ohmers; extern crate redis; extern crate rustc_serialize; use ohmers::{Counter, Ohmer}; use redis::Commands; use rustc_serialize::Encodable; model!(derive { Clone } Chair { uniques { location:u32 = 0; }; indices { color:u32 = 0; }; legs:Counter = Counter; }); #[test] fn test_model_delete() { let client = redis::Client::open("redis://127.0.0.1/").unwrap(); for key in client.scan_match::<_, String>("*Chair*").unwrap().into_iter() { let _:bool = client.del(key).unwrap(); } let chair1 = create!(Chair { color: 0x0000FF, location: 1, }, &client).unwrap(); incr!(chair1.legs, &client).unwrap(); chair1.delete(&client).unwrap(); assert_eq!( vec!["Chair:id".to_owned()], client.scan_match::<_, String>("*Chair*").unwrap().into_iter().collect::>() ); }