54 lines
1.7 KiB
GDScript
54 lines
1.7 KiB
GDScript
extends GutTest
|
|
|
|
var Enemy = load("res://Game/Mobs/enemy.gd") # Módosítsd a tényleges útvonalra
|
|
var _enemy = null
|
|
var _parent_mock = null
|
|
|
|
func before_each():
|
|
# Mock szülő objektum létrehozása
|
|
_parent_mock = Node2D.new()
|
|
_parent_mock.set_script(load("res://Game/Mobs/enemy.gd"))
|
|
_enemy = Enemy.new()
|
|
_parent_mock.add_child(_enemy)
|
|
|
|
# Gyermek node-ok mockolása
|
|
var character_body = CharacterBody2D.new()
|
|
character_body.name = "CharacterBody2D"
|
|
var animated_sprite = AnimatedSprite2D.new()
|
|
animated_sprite.name = "AnimatedSprite2D"
|
|
character_body.add_child(animated_sprite)
|
|
_enemy.add_child(character_body)
|
|
_enemy.add_child(ProgressBar.new())
|
|
|
|
func after_each():
|
|
_enemy.queue_free()
|
|
_parent_mock.queue_free()
|
|
|
|
# 1. TESZT: Karakteradatok helyes beállítása
|
|
func test_set_character_data_forkman():
|
|
# 1. Lépés: Beállítjuk a nevet és meghívjuk a függvényt
|
|
_enemy.name = "Forkman"
|
|
_enemy.set_character_data()
|
|
|
|
# 2. Lépés: Ellenőrizzük az értékeket
|
|
assert_eq(_enemy.speed, 120, "Sebesség helytelen")
|
|
assert_eq(_enemy.health, 100, "Életerő helytelen")
|
|
assert_eq(_enemy.shield, 100, "Pajzs helytelen")
|
|
assert_eq(_enemy.damage, 2, "Sebzés helytelen")
|
|
assert_true(_enemy.name.begins_with("Forkman-"), "Névformátum hibás")
|
|
|
|
# 2. TESZT: Sebzéskezelés pajzzsal
|
|
func test_enemy_hurt_with_shield():
|
|
# 1. Lépés: Kezdeti állapot beállítása
|
|
_enemy.name = "Forkman"
|
|
_enemy.set_character_data()
|
|
_enemy.current_shield = 50
|
|
_enemy.current_health = 100
|
|
|
|
# 2. Lépés: Sebzés alkalmazása
|
|
_enemy.enemy_hurt(30)
|
|
|
|
# 3. Lépés: Eredmények ellenőrzése
|
|
assert_eq(_enemy.current_shield, 20, "Pajzs nem csökkent megfelelően")
|
|
assert_eq(_enemy.current_health, 100, "Életerő változott pajzs mellett")
|