/// /// /// describe("caesar cipher", function() { var transformer :Transformers.CaesarCipher; beforeEach(function() { transformer = new Transformers.CaesarCipher(); }); function setKey(shift:number) : void { transformer.setKey(new Uint8Array([shift]).buffer); } it('transform', function() { setKey(4); expect(transformer.transformByte(0)).toEqual(4); }); it('transform with wrap-around', function() { setKey(4); expect(transformer.transformByte(254)).toEqual(2); }); it('restore', function() { setKey(1); expect(transformer.restoreByte(10)).toEqual(9); }); it('restore with wrap-around', function() { setKey(7); expect(transformer.restoreByte(2)).toEqual(251); }); it('transform buffer', function() { setKey(1); var bytes = new Uint8Array([4, 1, 255]); var result = new Uint8Array(transformer.transform(bytes.buffer)); // toEquals() doesn't work for Uint8Array. expect(result[0]).toEqual(5); expect(result[1]).toEqual(2); expect(result[2]).toEqual(0); }); it('restore buffer', function() { var input = new Uint8Array([4, 1, 255]); setKey(1); var output = new Uint8Array(transformer.restore( transformer.transform(new Uint8Array([4, 1, 255]).buffer))); for (var i = 0; i < output.length; i++) { expect(output[i]).toEqual(input[i]); } }); });