import KeymapRepository, { KeymapRepositoryImpl } from '../../../src/content/repositories/KeymapRepository'; import Key from '../../../src/content/domains/Key' import { expect } from 'chai'; describe('KeymapRepositoryImpl', () => { let sut: KeymapRepository; before(() => { sut = new KeymapRepositoryImpl(); }); describe('#enqueueKey()', () => { it('enqueues keys', () => { sut.enqueueKey(Key.fromMapKey('a'); sut.enqueueKey(Key.fromMapKey('b'); let sequence = sut.enqueueKey(Key.fromMapKey('c')); let keys = sequence.getKeyArray(); expect(keys[0].equals(Key.fromMapKey('a'))).to.be.true; expect(keys[1].equals(Key.fromMapKey('b'))).to.be.true; expect(keys[2].equals(Key.fromMapKey('c'))).to.be.true; }); }); describe('#clear()', () => { it('clears keys', () => { sut.enqueueKey(Key.fromMapKey('a'); sut.enqueueKey(Key.fromMapKey('b'); sut.enqueueKey(Key.fromMapKey('c'); sut.clear(); let sequence = sut.enqueueKey(Key.fromMapKey('a')); expect(sequence.length()).to.equal(1); }); }); });