@@ -75,4 +75,83 @@ public function testMultiByteGetAndSet()
7575 $ cache ->set ($ key , $ data );
7676 $ this ->assertTrue ($ cache ->get ($ key ) === $ data );
7777 }
78+
79+ public function testFlushValues ()
80+ {
81+ $ cache = $ this ->getCacheInstance ();
82+ $ key = 'data ' ;
83+ $ cache ->set ($ key , 'val ' );
84+ $ cache ->flush ();
85+ $ this ->assertFalse ($ cache ->get ($ key ));
86+ }
87+
88+ public function testMultiSet ()
89+ {
90+ $ cache = $ this ->getCacheInstance ();
91+ $ items = [
92+ 'k1 ' => 'v1 ' ,
93+ 'k2 ' => 'v2 ' ,
94+ 'k3 ' => 'v3 ' ,
95+ ];
96+ $ this ->assertEquals ([], $ cache ->multiSet ($ items , 1 ));
97+ $ this ->assertEquals ('v1 ' , $ cache ->get ('k1 ' ));
98+ $ this ->assertEquals ('v2 ' , $ cache ->get ('k2 ' ));
99+ $ this ->assertEquals ('v3 ' , $ cache ->get ('k3 ' ));
100+ sleep (1 );
101+ $ this ->assertFalse ($ cache ->get ('k1 ' ));
102+ $ this ->assertFalse ($ cache ->get ('k2 ' ));
103+ $ this ->assertFalse ($ cache ->get ('k3 ' ));
104+
105+ $ this ->assertFalse ($ cache ->exists ('k1 ' ));
106+ $ this ->assertFalse ($ cache ->exists ('k2 ' ));
107+ $ this ->assertFalse ($ cache ->exists ('k3 ' ));
108+
109+ $ cache ->multiSet ($ items );
110+ sleep (2 );
111+ $ this ->assertEquals ('v1 ' , $ cache ->get ('k1 ' ));
112+ $ this ->assertEquals ('v2 ' , $ cache ->get ('k2 ' ));
113+ $ this ->assertEquals ('v3 ' , $ cache ->get ('k3 ' ));
114+ }
115+
116+ public function testSetGet ()
117+ {
118+ $ cache = $ this ->getCacheInstance ();
119+ $ cache ->set ('key ' , 'val ' , 1 );
120+ $ this ->assertEquals ('val ' , $ cache ->get ('key ' ));
121+ sleep (1 );
122+ $ this ->assertFalse ($ cache ->get ('key ' ));
123+ $ this ->assertFalse ($ cache ->exists ('key ' ));
124+
125+ $ cache ->set ('key ' , 'val ' );
126+ $ this ->assertTrue ($ cache ->delete ('key ' ));
127+ $ this ->assertFalse ($ cache ->exists ('key ' ));
128+
129+ }
130+
131+ public function testMultiAdd ()
132+ {
133+ $ cache = $ this ->getCacheInstance ();
134+ $ items = [
135+ 'k1 ' => 'v1 ' ,
136+ 'k2 ' => 'v2 ' ,
137+ 'k3 ' => 'v3 ' ,
138+ ];
139+ $ cache ->multiSet ($ items );
140+ $ this ->assertEquals (['k2 ' ], $ cache ->multiAdd ([
141+ 'k2 ' => 'vv22 ' ,
142+ 'k4 ' => 'vv44 ' ,
143+ ]));
144+
145+ $ this ->assertEquals ('v2 ' , $ cache ->get ('k2 ' ));
146+ $ this ->assertEquals ('vv44 ' , $ cache ->get ('k4 ' ));
147+
148+ $ this ->assertEquals (['k1 ' ], $ cache ->multiAdd ([
149+ 'k5 ' => 'vv55 ' ,
150+ 'k1 ' => 'v1 ' ,
151+ ], 1 ));
152+ $ this ->assertEquals ('vv55 ' , $ cache ->get ('k5 ' ));
153+ sleep (1 );
154+ $ this ->assertFalse ($ cache ->exists ('k5 ' ));
155+ $ this ->assertTrue ($ cache ->exists ('k1 ' ));
156+ }
78157}
0 commit comments