add some basic tests
This commit is contained in:
@@ -0,0 +1,136 @@
|
|||||||
|
import {Osztaly} from "./osztaly";
|
||||||
|
import {CelzoTB, KozelharciTB, TamadasBonusz} from "./tamadas_bonusz";
|
||||||
|
import {KarakterTulajdonsagok, Modifier} from "./tulajdonsag";
|
||||||
|
|
||||||
|
describe('Tamadas Bonusz calculation', () => {
|
||||||
|
|
||||||
|
describe('Base Tamadas Bonusz', () => {
|
||||||
|
test.each([
|
||||||
|
[Osztaly.Harcos, 1, [1]],
|
||||||
|
[Osztaly.Amazon, 6, [6,1]],
|
||||||
|
[Osztaly.Ijasz, 20, [10,10,10]],
|
||||||
|
[Osztaly.Tolvaj, 1, [0]],
|
||||||
|
[Osztaly.Tolvaj, 9, [6,1]],
|
||||||
|
[Osztaly.Pap, 17, [10,6]],
|
||||||
|
[Osztaly.Varazslo, 1, [0]],
|
||||||
|
[Osztaly.Varazslo, 12, [6]],
|
||||||
|
[Osztaly.Illuzionista, 20, [10]],
|
||||||
|
])('%s has a TB of %i at level %i', (osztaly: Osztaly, szint: number, expectedTB: number[]) => {
|
||||||
|
const actual = TamadasBonusz(osztaly, szint)
|
||||||
|
expect(actual).toEqual(expectedTB)
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('CelzoTB', () => {
|
||||||
|
const szint = 10
|
||||||
|
const tulajdonsagok: KarakterTulajdonsagok = {
|
||||||
|
t_ugy: 17,
|
||||||
|
t_kar: 3,
|
||||||
|
t_bol: 3,
|
||||||
|
t_egs: 3,
|
||||||
|
t_ero: 3,
|
||||||
|
t_int: 3,
|
||||||
|
}
|
||||||
|
const modifier = Modifier(tulajdonsagok.t_ugy)
|
||||||
|
|
||||||
|
it('should be equal base + ugyesseg modifier', () => {
|
||||||
|
const osztaly = Osztaly.Tolvaj
|
||||||
|
const base = TamadasBonusz(osztaly, szint)
|
||||||
|
const expected = base.map(x => x + modifier)
|
||||||
|
|
||||||
|
const actual = CelzoTB({
|
||||||
|
osztaly,
|
||||||
|
szint,
|
||||||
|
tulajdonsagok
|
||||||
|
})
|
||||||
|
|
||||||
|
expect(actual).toEqual(expected)
|
||||||
|
});
|
||||||
|
it('should double the first base TB for Íjjász', () => {
|
||||||
|
const osztaly = Osztaly.Ijasz
|
||||||
|
const base = TamadasBonusz(osztaly, szint)
|
||||||
|
const ijjaszDoubleBase = [base[0], ...base]
|
||||||
|
const expected = ijjaszDoubleBase.map(x => x + modifier)
|
||||||
|
|
||||||
|
const actual = CelzoTB({
|
||||||
|
osztaly,
|
||||||
|
szint,
|
||||||
|
tulajdonsagok
|
||||||
|
})
|
||||||
|
|
||||||
|
expect(actual).toEqual(expected)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('KozelharciTB', () => {
|
||||||
|
const szint = 10
|
||||||
|
const tulajdonsagok: KarakterTulajdonsagok = {
|
||||||
|
t_ugy: 3,
|
||||||
|
t_kar: 3,
|
||||||
|
t_bol: 3,
|
||||||
|
t_egs: 3,
|
||||||
|
t_ero: 3,
|
||||||
|
t_int: 3,
|
||||||
|
}
|
||||||
|
const modifier = Modifier(tulajdonsagok.t_ero)
|
||||||
|
|
||||||
|
it('should be equal base + ero modifier', () => {
|
||||||
|
const osztaly = Osztaly.Tolvaj
|
||||||
|
const base = TamadasBonusz(osztaly, szint)
|
||||||
|
const expected = base.map(x => x + modifier)
|
||||||
|
|
||||||
|
const actual = KozelharciTB({
|
||||||
|
osztaly,
|
||||||
|
szint,
|
||||||
|
tulajdonsagok
|
||||||
|
})
|
||||||
|
|
||||||
|
expect(actual).toEqual(expected)
|
||||||
|
});
|
||||||
|
it('should use t_ugy for Kaloz if t_ugy > t_ero', () => {
|
||||||
|
const osztaly = Osztaly.Kaloz
|
||||||
|
const tulajdonsagok: KarakterTulajdonsagok = {
|
||||||
|
t_ugy: 17,
|
||||||
|
t_kar: 3,
|
||||||
|
t_bol: 3,
|
||||||
|
t_egs: 3,
|
||||||
|
t_ero: 3,
|
||||||
|
t_int: 3,
|
||||||
|
}
|
||||||
|
const modifier = Modifier(tulajdonsagok.t_ugy)
|
||||||
|
const base = TamadasBonusz(osztaly, szint)
|
||||||
|
const expected = base.map(x => x + modifier)
|
||||||
|
|
||||||
|
const actual = KozelharciTB({
|
||||||
|
osztaly,
|
||||||
|
szint,
|
||||||
|
tulajdonsagok
|
||||||
|
})
|
||||||
|
|
||||||
|
expect(actual).toEqual(expected)
|
||||||
|
});
|
||||||
|
it('should use t_ero for Kaloz if t_ero > t_ugy', () => {
|
||||||
|
const osztaly = Osztaly.Kaloz
|
||||||
|
const tulajdonsagok: KarakterTulajdonsagok = {
|
||||||
|
t_ugy: 3,
|
||||||
|
t_kar: 3,
|
||||||
|
t_bol: 3,
|
||||||
|
t_egs: 3,
|
||||||
|
t_ero: 13,
|
||||||
|
t_int: 3,
|
||||||
|
}
|
||||||
|
const modifier = Modifier(tulajdonsagok.t_ero)
|
||||||
|
const base = TamadasBonusz(osztaly, szint)
|
||||||
|
const expected = base.map(x => x + modifier)
|
||||||
|
|
||||||
|
const actual = KozelharciTB({
|
||||||
|
osztaly,
|
||||||
|
szint,
|
||||||
|
tulajdonsagok
|
||||||
|
})
|
||||||
|
|
||||||
|
expect(actual).toEqual(expected)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user