Example #1
0
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");
}
Example #2
0
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);
}
Example #3
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);
}