void test_get_set(client &c) { c.flushdb(); c.set("k1", "v1"); assert(*c.get("k1")=="v1"); c.set("k1", "v2"); assert(*c.get("k1")=="v2"); assert(!c.get("nonexist")); c.set("mykey", "10.5"); c.incrbyfloat("mykey", "0.1"); assert(*(c.get("mykey"))=="10.6"); }
void test_bitcount(client &c) { c.flushdb(); c.set("mykey", "foobar"); assert(c.bitcount("mykey")==26); assert(c.bitcount("mykey", {0,0})==4); assert(c.bitcount("mykey", {1,1})==6); assert(c.bitcount("nonexist", {8,12})==0); }
void test_scan(client &c) { c.flushdb(); std::set<std::string> expected; for (int i=42; i<442; i++) { std::string k("key"); k+=boost::lexical_cast<std::string>(i); std::string v("key"); v+=boost::lexical_cast<std::string>(i); c.set(k, v); expected.insert(k); } std::set<std::string> keys; for(auto i=c.scan(); i!=c.end(); ++i) { keys.insert(*i); } assert(keys==expected); }