// 🔍 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テスト完了！")