Initial commit: Fighting_Rthythm_game project setup
This commit is contained in:
40
tests/test_jump_height.gd
Normal file
40
tests/test_jump_height.gd
Normal file
@@ -0,0 +1,40 @@
|
||||
extends SceneTree
|
||||
|
||||
const ORIGINAL_JUMP_INTENSITY := 430.0
|
||||
const GRAVITY := 1200.0
|
||||
|
||||
var failures: Array[String] = []
|
||||
|
||||
|
||||
func _init() -> void:
|
||||
var scene: PackedScene = load("res://scenes/characters/player.tscn")
|
||||
if scene == null:
|
||||
push_error("Could not load player.tscn")
|
||||
quit(1)
|
||||
return
|
||||
|
||||
var player: Node = scene.instantiate()
|
||||
var jump_intensity: float = float(player.get("jump_intensity"))
|
||||
var expected_height: float = _jump_height(ORIGINAL_JUMP_INTENSITY) * 0.5
|
||||
var actual_height: float = _jump_height(jump_intensity)
|
||||
|
||||
if absf(actual_height - expected_height) > 0.01:
|
||||
failures.append("jump height expected %.3f, got %.3f from jump_intensity %.3f" % [
|
||||
expected_height,
|
||||
actual_height,
|
||||
jump_intensity,
|
||||
])
|
||||
|
||||
player.free()
|
||||
|
||||
if failures.is_empty():
|
||||
print("PASS jump height")
|
||||
quit(0)
|
||||
else:
|
||||
for failure: String in failures:
|
||||
push_error(failure)
|
||||
quit(1)
|
||||
|
||||
|
||||
func _jump_height(jump_intensity: float) -> float:
|
||||
return jump_intensity * jump_intensity / (2.0 * GRAVITY)
|
||||
Reference in New Issue
Block a user