1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-09 00:22:08 +03:00
Files
node-redis/test/commands/sinter.spec.js
2017-05-19 06:14:29 +02:00

58 lines
1.8 KiB
JavaScript

'use strict'
const assert = require('assert')
const config = require('../lib/config')
const helper = require('../helper')
const redis = config.redis
describe('The \'sinter\' method', () => {
helper.allTests((ip, args) => {
describe(`using ${ip}`, () => {
let client
beforeEach(() => {
client = redis.createClient.apply(null, args)
return client.flushdb()
})
it('handles two sets being intersected', () => {
client.sadd('sa', 'a').then(helper.isNumber(1))
client.sadd('sa', 'b').then(helper.isNumber(1))
client.sadd('sa', 'c').then(helper.isNumber(1))
client.sadd('sb', 'b').then(helper.isNumber(1))
client.sadd('sb', 'c').then(helper.isNumber(1))
client.sadd('sb', 'd').then(helper.isNumber(1))
return client.sinter('sa', 'sb').then((intersection) => {
assert.strictEqual(intersection.length, 2)
assert.deepStrictEqual(intersection.sort(), [ 'b', 'c' ])
})
})
it('handles three sets being intersected', () => {
client.sadd('sa', 'a').then(helper.isNumber(1))
client.sadd('sa', 'b').then(helper.isNumber(1))
client.sadd('sa', 'c').then(helper.isNumber(1))
client.sadd('sb', 'b').then(helper.isNumber(1))
client.sadd('sb', 'c').then(helper.isNumber(1))
client.sadd('sb', 'd').then(helper.isNumber(1))
client.sadd('sc', 'c').then(helper.isNumber(1))
client.sadd('sc', 'd').then(helper.isNumber(1))
client.sadd('sc', 'e').then(helper.isNumber(1))
return client.sinter('sa', 'sb', 'sc').then((intersection) => {
assert.strictEqual(intersection.length, 1)
assert.strictEqual(intersection[0], 'c')
})
})
afterEach(() => {
client.end(true)
})
})
})
})