phase: 20.49 COMPLETE; 20.50 Flow+String minimal reps; 20.51 selfhost v0/v1 minimal (Option A/B); hv1-inline binop/unop/copy; docs + run_all + CURRENT_TASK -> 21.0
This commit is contained in:
48
tests/development/test_override_validation.hako
Normal file
48
tests/development/test_override_validation.hako
Normal file
@ -0,0 +1,48 @@
|
||||
// 🔍 override検証テスト - デリゲーションメソッドチェック機能
|
||||
|
||||
// 1. ✅ 正常なoverride(基本テスト)
|
||||
box Animal {
|
||||
init { name }
|
||||
|
||||
pack(animalName) {
|
||||
me.name = animalName
|
||||
}
|
||||
|
||||
speak() {
|
||||
return me.name + " makes a sound"
|
||||
}
|
||||
|
||||
move() {
|
||||
return me.name + " moves"
|
||||
}
|
||||
}
|
||||
|
||||
box Dog from Animal {
|
||||
init { breed }
|
||||
|
||||
pack(dogName, dogBreed) {
|
||||
from Animal.pack(dogName)
|
||||
me.breed = dogBreed
|
||||
}
|
||||
|
||||
// ✅ 正常なoverride - speakメソッドは親に存在
|
||||
override speak() {
|
||||
return me.name + " (dog) barks: Woof!"
|
||||
}
|
||||
|
||||
// ✅ 正常なoverride - moveメソッドも親に存在
|
||||
override move() {
|
||||
return me.name + " runs fast"
|
||||
}
|
||||
}
|
||||
|
||||
// テスト実行
|
||||
print("=== 🔍 Override検証テスト ===")
|
||||
|
||||
local dog
|
||||
dog = new Dog("Buddy", "Labrador")
|
||||
print("Dog speak: " + dog.speak())
|
||||
print("Dog move: " + dog.move())
|
||||
|
||||
print("")
|
||||
print("✅ 正常なoverrideテスト完了!")
|
||||
Reference in New Issue
Block a user