# PR #75 SocketBox状態保持テスト
# Arc<dyn NyashBox>修正効果の検証

static box Main {
    init { console, server, result }
    
    main() {
        me.console = new ConsoleBox()
        me.console.log("🔥 SocketBox状態保持テスト開始")
        
        # SocketBox作成
        me.server = new SocketBox()
        me.console.log("✅ SocketBox作成完了")
        
        # bind前のisServer確認
        local isServerBefore = me.server.isServer()
        me.console.log("Before bind: isServer = " + isServerBefore.toString())
        
        # bind実行（状態設定）
        local bindResult = me.server.bind("127.0.0.1", 18080)
        me.console.log("Bind result = " + bindResult.toString())
        
        # bind後のisServer確認（🎯 重要：これがtrueになるべき）
        local isServerAfter = me.server.isServer()
        me.console.log("After bind: isServer = " + isServerAfter.toString())
        
        # テスト結果判定
        if isServerAfter.equals(true) {
            me.console.log("🎉 SUCCESS: SocketBox状態保持修正完了!")
            me.result = "PASS: State preservation works"
        } else {
            me.console.log("❌ FAILED: SocketBox状態が失われている")
            me.result = "FAIL: State preservation broken"
        }
        
        # クリーンアップ
        me.server.close()
        me.console.log("🧹 SocketBox closed")
        
        return me.result
    }
}