Files
hakorune/local_tests/test_instance_v2_comprehensive.hako

80 lines
1.8 KiB
Plaintext
Raw 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.

// 🧪 InstanceBox v2包括テスト文字列演算なし
// 複雑なネストしたBox階層のテスト
box DatabaseConnection {
init { host, port, status }
connect(hostname, portnum) {
me.host = hostname
me.port = portnum
me.status = 1
return me.status
}
isConnected() {
return me.status
}
}
box UserService {
init { db_connection, user_cache }
initialize() {
me.db_connection = new DatabaseConnection()
me.user_cache = new MapBox()
local result = me.db_connection.connect("localhost", 5432)
return result
}
getConnectionStatus() {
return me.db_connection.isConnected()
}
addUser(userId, userData) {
me.user_cache.set(userId, userData)
return me.user_cache.size()
}
}
box Application {
init { user_service, logger }
startup() {
me.user_service = new UserService()
me.logger = new ConsoleBox()
local init_result = me.user_service.initialize()
return init_result
}
testComplexOperations() {
// 複雑なネストしたメソッド呼び出し
local status = me.user_service.getConnectionStatus()
// MapBoxとの連携
local cache_size = me.user_service.addUser("user1", "data1")
// ログ出力
me.logger.log("Application test completed")
return cache_size
}
}
// メインテスト
static box Main {
init { app, test_result }
main() {
me.app = new Application()
// 段階的初期化テスト
local startup_result = me.app.startup()
// 複雑な操作テスト
me.test_result = me.app.testComplexOperations()
return me.test_result
}
}