Triangle megvalósítása JavaScript nyelven, Jasmine teszteléssel.
Kód:
var baseInput = document.querySelector('#base'); var heightInput = document.querySelector('#height'); var areaInput = document.querySelector('#area'); var calcButton = document.querySelector('#calcButton'); if(calcButton) { calcButton.addEventListener('click', () => { workInput(); }); } function workInput() { let baseGood = checkInput(baseInput.value); let heightGood = checkInput(heightInput.value); if (baseGood && heightGood) { let base = Number(baseInput.value); let height = Number(heightInput.value); let area = calcTriangleArea(base, height); areaInput.value = area + " cm²"; }else { alert('Hiba!') } } function calcTriangleArea(base, height) { return base * height / 2; } function checkInput(input) { if(input<1) { throw new Error('Hiba! 1-nél kisebb érték!') } let res = input.match(/^[0-9]+$/); if(res) { return true; }else { return false; } }
describe('Az app.js tesztjei', () => { it('Bemenet 30, 35, akkor 525', () => { let actual = calcTriangleArea(30, 35); expect(525).toBe(actual); }); it('Bemenet 100, 130, akkor 6500', () => { let actual = calcTriangleArea(100, 130); expect(6500).toBe(actual); }); it('Bemenet 1, 3, akkor 1,5', () => { let actual = calcTriangleArea(1, 3); expect(1.5).toBe(actual); }); }); describe('A bevitel ellenőrzésének tesztelése', () => { it('Az "a" bemenetre false-t várunk', () => { let actual = checkInput('a'); expect(actual).toBeFalse(); }); it('Az "cica" bemenetre false-t várunk', () => { let actual = checkInput('cica'); expect(actual).toBeFalse(); }); it('Az 33 bemenetre nem null-t várunk', () => { let actual = checkInput('33'); expect(actual).not.toBeNull(); }); it('Hibát dob ha kisebb 1-nél az éréték?', () => { expect(() => { checkInput('-3') }).toThrow(); }); it('Megadott hibát dob 1-nél kisebb érték esetén?', () => { expect(() => { checkInput('-3') }).toThrow(new Error('Hiba! 1-nél kisebb érték!')); }); });