Skip to content

Commit f370ef1

Browse files
committed
test: added positive test cases for new bitop operations
1 parent edd250c commit f370ef1

File tree

1 file changed

+48
-8
lines changed

1 file changed

+48
-8
lines changed

packages/client/lib/commands/BITOP.spec.ts

Lines changed: 48 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,31 +30,71 @@ describe('BITOP', () => {
3030
cluster: GLOBAL.CLUSTERS.OPEN
3131
});
3232

33-
testUtils.testWithClientIfVersionWithinRange([[8, 2], 'LATEST'], 'bitOp DIFF', async client => {
33+
testUtils.testWithClientIfVersionWithinRange([[8, 2], 'LATEST'], 'bitOp DIFF with non-existing keys', async client => {
3434
assert.equal(
35-
await client.bitOp('DIFF', '{tag}destKey', ['{tag}key', '{tag}key2']),
35+
await client.bitOp('DIFF', 'destKey', ['key1', 'key2']),
3636
0
3737
);
3838
}, GLOBAL.SERVERS.OPEN);
3939

40-
testUtils.testWithClientIfVersionWithinRange([[8, 2], 'LATEST'], 'bitOp DIFF1', async client => {
40+
testUtils.testWithClientIfVersionWithinRange([[8, 2], 'LATEST'], 'bitOp AND with existing keys', async client => {
41+
await client.set('key1', 'value1');
42+
await client.set('key2', 'value2');
43+
44+
assert.equal(
45+
await client.bitOp('AND', 'destKey', ['key1', 'key2']),
46+
6
47+
);
48+
}, GLOBAL.SERVERS.OPEN);
49+
50+
testUtils.testWithClientIfVersionWithinRange([[8, 2], 'LATEST'], 'bitOp DIFF1 with non-existing keys', async client => {
4151
assert.equal(
42-
await client.bitOp('DIFF1', '{tag}destKey', ['{tag}key', '{tag}key2']),
52+
await client.bitOp('DIFF1', 'destKey', ['key1', 'key2']),
4353
0
4454
);
4555
}, GLOBAL.SERVERS.OPEN);
4656

47-
testUtils.testWithClientIfVersionWithinRange([[8, 2], 'LATEST'], 'bitOp ANDOR', async client => {
57+
testUtils.testWithClientIfVersionWithinRange([[8, 2], 'LATEST'], 'bitOp OR with existing keys', async client => {
58+
await client.set('key1', 'value1');
59+
await client.set('key2', 'value2');
60+
61+
assert.equal(
62+
await client.bitOp('OR', 'destKey', ['key1', 'key2']),
63+
6
64+
);
65+
}, GLOBAL.SERVERS.OPEN);
66+
67+
testUtils.testWithClientIfVersionWithinRange([[8, 2], 'LATEST'], 'bitOp ANDOR with non-existing keys', async client => {
4868
assert.equal(
49-
await client.bitOp('ANDOR', '{tag}destKey', ['{tag}key', '{tag}key2', '{tag}key3']),
69+
await client.bitOp('ANDOR', 'destKey', ['key1', 'key2']),
5070
0
5171
);
5272
}, GLOBAL.SERVERS.OPEN);
5373

54-
testUtils.testWithClientIfVersionWithinRange([[8, 2], 'LATEST'], 'bitOp ONE', async client => {
74+
testUtils.testWithClientIfVersionWithinRange([[8, 2], 'LATEST'], 'bitOp XOR with existing keys', async client => {
75+
await client.set('key1', 'value1');
76+
await client.set('key2', 'value2');
77+
78+
assert.equal(
79+
await client.bitOp('XOR', 'destKey', ['key1', 'key2']),
80+
6
81+
);
82+
}, GLOBAL.SERVERS.OPEN);
83+
84+
testUtils.testWithClientIfVersionWithinRange([[8, 2], 'LATEST'], 'bitOp ONE with non-existing keys', async client => {
5585
assert.equal(
56-
await client.bitOp('ONE', '{tag}destKey', ['{tag}key', '{tag}key2']),
86+
await client.bitOp('ONE', 'destKey', ['key1', 'key2']),
5787
0
5888
);
5989
}, GLOBAL.SERVERS.OPEN);
90+
91+
testUtils.testWithClientIfVersionWithinRange([[8, 2], 'LATEST'], 'bitOp ONE with existing keys', async client => {
92+
await client.set('key1', 'value1');
93+
await client.set('key2', 'value2');
94+
95+
assert.equal(
96+
await client.bitOp('ONE', '{tag}destKey', ['key1', 'key2']),
97+
6
98+
);
99+
}, GLOBAL.SERVERS.OPEN);
60100
});

0 commit comments

Comments
 (0)