| name | ic-test |
| description | Test IC10 code for correctness and logic bugs. Use when user wants to verify IC10 code works through test cases or simulation analysis. |
IC10 Code Testing
Test IC10 code to verify it works correctly through analysis and test case design.
Workflow
1. Analysis Phase
Use Task tool to spawn:
code-tester- Perform static analysis and design test cases
2. Test Case Phase (If Needed)
If tester requires specific test scenarios, request them from user:
- What devices should be connected?
- What input states to test?
- What outputs are expected?
3. Verification Phase
Based on test results:
- All tests pass - Code is verified working
- Some tests fail - Recommend fixes via ic-debug
- Simulation needed - Note limitations and recommend in-game testing
Testing Capabilities
Static Analysis
- Logic flow verification
- Edge case identification
- State machine validation
- Resource deadlock detection
Test Case Design
- Normal operation scenarios
- Boundary conditions
- Error recovery paths
- Device connectivity scenarios
Pattern Verification
- State machine structure
- PID controller terms
- Batch operation correctness
- Indirect addressing usage
Limitations
Important: Full IC10 simulation is not available. Testing is limited to:
- Static Analysis - Code inspection without execution
- Manual Tracing - Step-by-step logic simulation
- Pattern Comparison - Against known working code
- Test Case Design - Create procedures for manual testing
For actual execution, code must be tested in-game.
Instructions
When the user asks to test IC10 code:
Launch code-tester with the code
- Include any specific test requirements
- Note if this is generated code or user-written
Review test report
- Check which tests passed/failed
- Review edge cases identified
- Note any logic errors found
Present results clearly
- Overall verdict (PASS/FAIL/NEEDS_TESTING)
- Specific issues with line numbers
- Recommendations for fixes or in-game testing
Offer next steps
- If issues found: "Want me to fix these bugs?"
- If tests pass: "Ready for in-game testing"
- If uncertain: "Recommend testing with specific scenario"
Example Triggers
- "Test this code"
- "Verify this IC10 script"
- "Does this code work?"
- "Check for logic errors"
- "Create test cases for..."
- "Will this script handle..."
Output Format
After testing completes, respond with:
## Test Results: [Script Name]
### Static Analysis
✅ Logic flow correct
✅ All states reachable
⚠️ Missing error handling for edge case
### Test Cases
| Scenario | Expected | Result | Status |
|----------|-----------|--------|--------|
| Normal operation | Device activates | PASS |
| No ore available | Device off | PASS |
| Kill switch active | Stop all | PASS |
### Issues Found
1. **Logic Error** (Line 45)
- Problem: Comparison inverted
- Impact: Device activates when shouldn't
- Fix: Change `slt` to `sgt`
### Overall Verdict
**Status**: ⚠️ NEEDS_FIXES
**Recommendation**: Fix logic error in line 45, then re-test
Notes
- Testing is static - in-game verification still required
- Complex state machines may need manual test case review
- Multi-chip coordination requires testing all chips together
- Batch operations need hash verification in-game