2021-04-08 12:19:38 +03:00
|
|
|
import { expect } from 'chai'
|
2023-06-05 03:30:48 +03:00
|
|
|
import { describe, it } from 'mocha'
|
2022-06-30 16:32:56 +03:00
|
|
|
|
|
|
|
import { LruSet } from '../src'
|
2021-04-08 12:19:38 +03:00
|
|
|
|
|
|
|
describe('LruStringSet', () => {
|
|
|
|
it('Set backend', () => {
|
2022-06-30 16:32:56 +03:00
|
|
|
const set = new LruSet(2)
|
2021-04-08 12:19:38 +03:00
|
|
|
|
|
|
|
set.add('first')
|
|
|
|
expect(set.has('first')).true
|
|
|
|
|
|
|
|
set.add('second')
|
|
|
|
expect(set.has('first')).true
|
|
|
|
expect(set.has('second')).true
|
|
|
|
|
|
|
|
set.add('third')
|
|
|
|
expect(set.has('first')).false
|
|
|
|
expect(set.has('second')).true
|
|
|
|
expect(set.has('third')).true
|
|
|
|
|
|
|
|
set.add('third')
|
|
|
|
expect(set.has('first')).false
|
|
|
|
expect(set.has('second')).true
|
|
|
|
expect(set.has('third')).true
|
|
|
|
|
|
|
|
set.add('fourth')
|
|
|
|
expect(set.has('first')).false
|
|
|
|
expect(set.has('second')).false
|
|
|
|
expect(set.has('third')).true
|
|
|
|
expect(set.has('fourth')).true
|
|
|
|
})
|
|
|
|
|
|
|
|
it('Object backend', () => {
|
2022-06-30 16:32:56 +03:00
|
|
|
const set = new LruSet(2, true)
|
2021-04-08 12:19:38 +03:00
|
|
|
|
|
|
|
set.add('first')
|
|
|
|
expect(set.has('first')).true
|
|
|
|
|
|
|
|
set.add('second')
|
|
|
|
expect(set.has('first')).true
|
|
|
|
expect(set.has('second')).true
|
|
|
|
|
|
|
|
set.add('third')
|
|
|
|
expect(set.has('first')).false
|
|
|
|
expect(set.has('second')).true
|
|
|
|
expect(set.has('third')).true
|
|
|
|
|
|
|
|
set.add('third')
|
|
|
|
expect(set.has('first')).false
|
|
|
|
expect(set.has('second')).true
|
|
|
|
expect(set.has('third')).true
|
|
|
|
|
|
|
|
set.add('fourth')
|
|
|
|
expect(set.has('first')).false
|
|
|
|
expect(set.has('second')).false
|
|
|
|
expect(set.has('third')).true
|
|
|
|
expect(set.has('fourth')).true
|
|
|
|
})
|
|
|
|
})
|