Files
hakorune/local_tests/test_pack_transparency.hako

57 lines
1.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🔥 Phase 8.8: pack透明化システム テスト
# ユーザーは`pack`を一切意識せず、`from BuiltinBox()`で自動動作
print("=== pack透明化システム テスト開始 ===")
# テストA: ユーザー定義Box基本動作 (birth優先)
box Life {
init { name, energy }
birth(lifeName) {
me.name = lifeName
me.energy = 100
}
introduce() {
return "私の名前は " + me.name + " です。"
}
}
local alice = new Life("Alice")
print("A. " + alice.introduce())
# テストB: ビルトインBox継承明示的pack使用
box EnhancedString from StringBox {
init { prefix }
pack(content) {
from StringBox.pack(content) # 明示的pack
me.prefix = ">>> "
}
override toString() {
return me.prefix + from StringBox.toString()
}
}
local enhanced = new EnhancedString("Hello")
print("B. " + enhanced.toString())
# テストC: 透明化システム動作 - 最重要テスト
box SimpleString from StringBox {
init { prefix }
birth(content, prefixStr) {
from StringBox(content) # ← 透明化内部的にpack呼び出し
me.prefix = prefixStr
}
override toString() {
return me.prefix + from StringBox.toString()
}
}
local simple = new SimpleString("World", "<<< ")
print("C. " + simple.toString())
print("=== pack透明化システム テスト完了 ===")