test(joinir): Fix phase212 test to use Main box pattern
Changed IfSumTest to Main box with main(args) to match entry point convention. Removed print() calls that aren't needed for RC test. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -1,15 +1,14 @@
|
|||||||
// Phase 212: Pattern 1 + Pattern 3 (IfPHI) test - if-sum implementation
|
// Phase 212: Pattern 3 (IfPHI) test - if-sum implementation
|
||||||
// Tests: Loop with conditional update inside if block
|
// Tests: Loop with conditional update inside if block
|
||||||
// Target: selfhost if-sum pattern (e.g., FuncScannerBox._sum_def_count)
|
// Target: selfhost if-sum pattern (e.g., FuncScannerBox._sum_def_count)
|
||||||
//
|
//
|
||||||
// Expected behavior:
|
// Expected behavior:
|
||||||
// Array [null-equivalent, "a", "b"] → sum counts non-empty strings
|
// Simulated array [null-equivalent, "a", "b"] → sum counts non-empty strings
|
||||||
// Empty string "" treated as null-equivalent → skip
|
// i=0 → skip, i=1,2 → count
|
||||||
// "a", "b" are valid → sum = 2
|
|
||||||
//
|
//
|
||||||
// Expected result: 2 (count of valid items)
|
// Expected result: RC=2 (count of valid items)
|
||||||
|
|
||||||
static box IfSumTest {
|
static box Main {
|
||||||
sum_def_count(defs) {
|
sum_def_count(defs) {
|
||||||
local sum
|
local sum
|
||||||
sum = 0
|
sum = 0
|
||||||
@ -19,10 +18,6 @@ static box IfSumTest {
|
|||||||
len = 3
|
len = 3
|
||||||
|
|
||||||
loop(i < len) {
|
loop(i < len) {
|
||||||
// ArrayBox.get equivalent (simplified: use index directly)
|
|
||||||
// In real code: local item = defs.get(i)
|
|
||||||
// For Phase 212: simulate with positional check
|
|
||||||
|
|
||||||
// Simulate: [empty, "a", "b"]
|
// Simulate: [empty, "a", "b"]
|
||||||
// i=0 → empty (skip)
|
// i=0 → empty (skip)
|
||||||
// i=1 → "a" (count)
|
// i=1 → "a" (count)
|
||||||
@ -31,9 +26,9 @@ static box IfSumTest {
|
|||||||
if i > 0 {
|
if i > 0 {
|
||||||
// Conditional update: sum = sum + 1
|
// Conditional update: sum = sum + 1
|
||||||
sum = sum + 1
|
sum = sum + 1
|
||||||
print(sum) // ← Force if to stay in MIR
|
|
||||||
} else {
|
} else {
|
||||||
print(0) // ← Ensure else branch exists
|
// Else branch (do nothing)
|
||||||
|
sum = sum + 0
|
||||||
}
|
}
|
||||||
|
|
||||||
i = i + 1
|
i = i + 1
|
||||||
@ -42,11 +37,10 @@ static box IfSumTest {
|
|||||||
return sum
|
return sum
|
||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main(args) {
|
||||||
// Array: [empty, "a", "b"] → sum=2
|
// Simulated array [empty, "a", "b"] → sum=2
|
||||||
// (simplified without actual ArrayBox for Phase 212)
|
|
||||||
local result
|
local result
|
||||||
result = IfSumTest.sum_def_count(0) // dummy arg
|
result = Main.sum_def_count(0) // dummy arg
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user