[[oktatas:web:javascript:javascript_teszt:jasmine:peldak|< Jasmine példák]]
====== Jasmine - Triangle függvények tesztje ======
* **Szerző:** Sallai András
* Copyright (c) 2023, Sallai András
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== Bevezetés =====
Triangle megvalósítása JavaScript nyelven, Jasmine teszteléssel.
Kód:
* https://github.com/oktat/extriangle_jasmine.git
===== Alkalmazás =====
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;
}
}
===== Tesztelés =====
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!'));
});
});