Files
TransPyC/Test/TestProject2/App/main.py
2026-06-16 16:09:42 +08:00

116 lines
5.6 KiB
Python

import stdio
import stdint
import zc.config as config
import zc.test as test
import zc.logic_test as logic
import zc.class_test as class_test
def main() -> stdint.INT:
stdio.printf("=== Hello World! ===\n")
stdio.printf("Cross-module macros:\n")
stdio.printf(" POSMAX: %d\n", config.POSMAX)
stdio.printf(" MATH_SCALE: %d\n", config.MATH_SCALE)
stdio.printf(" THRESHOLD: %d\n", config.THRESHOLD)
stdio.printf(" SHIFT_AMOUNT: %d\n", config.SHIFT_AMOUNT)
stdio.printf(" MASK_VALUE: 0x%x\n", config.MASK_VALUE)
stdio.printf("\n=== While Loop Test ===\n")
test.AboutSizeTWhileTest(10)
stdio.printf("\n=== Math Basic Test (20, 6) ===\n")
test.MathBasicTest(20, 6)
stdio.printf("\n=== Math Advanced Test (value=15) ===\n")
test.MathAdvancedTest(15)
stdio.printf("\n=== While with Elif-Else Test (-2 to 12) ===\n")
test.WhileWithElifElseTest(-2, 12)
stdio.printf("\n=== Nested While with Macros Test ===\n")
test.NestedWhileWithMacrosTest(3, 4)
stdio.printf("\n=== Complex Condition Test (1, 2, 3) ===\n")
test.ComplexConditionTest(1, 2, 3)
stdio.printf("\n=== Retry Loop Test (8) ===\n")
test.RetryLoopTest(8)
stdio.printf("\n=== Bitwise Operations Test (0b1101101) ===\n")
test.BitwiseOperationsTest(109)
stdio.printf("\n=== Compound Assignment Math Test (15, 4) ===\n")
test.CompoundAssignmentMathTest(15, 4)
stdio.printf("\n=== Power and Modulo Test (2, 8) ===\n")
test.PowerAndModuloTest(2, 8)
stdio.printf("\n=== Mixed Arithmetic Test (5, 3, 4) ===\n")
test.MixedArithmeticTest(5, 3, 4)
stdio.printf("\n=== Math with While Loop Test (start=1, count=5) ===\n")
test.MathWithWhileLoopTest(1, 5)
stdio.printf("\n=== Complex Nested Math Test (7, 3) ===\n")
test.ComplexNestedMathTest(7, 3)
stdio.printf("\n=== Conditional Math Chain Test (value=10) ===\n")
test.ConditionalMathChainTest(10)
stdio.printf("\n=== Bit Manipulation Math Test (0xABCD) ===\n")
test.BitManipulationMathTest(0xABCD)
stdio.printf("\n============== COMPLEX LOGIC TESTS ==============\n")
stdio.printf("\n=== For Range Basic Test (stop=5) ===\n")
logic.ForRangeBasicTest(5)
stdio.printf("\n=== For Range With Start Stop Step (start=1, stop=10, step=2) ===\n")
logic.ForRangeWithStartStop(1, 10, 2)
stdio.printf("\n=== Nested For Range Test (rows=2, cols=3) ===\n")
logic.NestedForRangeTest(2, 3)
stdio.printf("\n=== For With If Break Test (size=8) ===\n")
logic.ForWithIfBreakTest(8)
stdio.printf("\n=== For With If Continue Test (n=10) ===\n")
logic.ForWithIfContinueTest(10)
stdio.printf("\n=== For With Elif Branch Test (value=10) ===\n")
logic.ForWithElifBranchTest(10)
stdio.printf("\n=== While With If Elif Else Test (iterations=7) ===\n")
logic.WhileWithIfElifElseTest(7)
stdio.printf("\n=== While With Nested If Test (limit=4) ===\n")
logic.WhileWithNestedIfTest(4)
stdio.printf("\n=== While With Match Case Test (value=2) ===\n")
logic.WhileWithMatchCaseTest(2)
stdio.printf("\n=== While With Match Case Test (value=99) ===\n")
logic.WhileWithMatchCaseTest(99)
stdio.printf("\n=== While With Match Case NoBreak Test (value=3) ===\n")
logic.WhileWithMatchCaseNoBreakTest(3)
stdio.printf("\n=== Complex For While Match Test (outer=3, inner=3) ===\n")
logic.ComplexForWhileMatchTest(3, 3)
stdio.printf("\n=== For With Case And NoBreak Test (n=5) ===\n")
logic.ForWithCaseAndNoBreakTest(5)
stdio.printf("\n=== While With Break Condition Test (limit=6) ===\n")
logic.WhileWithBreakConditionTest(6)
stdio.printf("\n=== Nested While With Multiple BreakPoints (depth=3, width=4) ===\n")
logic.NestedWhileWithMultipleBreakPoints(3, 4)
stdio.printf("\n=== For With Match Case In Loop Test (iterations=9) ===\n")
logic.ForWithMatchCaseInLoopTest(9)
stdio.printf("\n=== Complex Logic With Elif Chains (a=3, b=5, c=7) ===\n")
logic.ComplexLogicWithElifChains(3, 5, 7)
stdio.printf("\n=== For Range With Step And Condition (n=12, step=2) ===\n")
logic.ForRangeWithStepAndCondition(12, 2)
stdio.printf("\n=== Match Case With Guard Conditions (value=1) ===\n")
logic.MatchCaseWithGuardConditions(1)
stdio.printf("\n=== While With Multiple Match Cases (iterations=12) ===\n")
logic.WhileWithMultipleMatchCases(12)
stdio.printf("\n=== For While Mix With Break And Continue (n=5) ===\n")
logic.ForWhileMixWithBreakAndContinue(5)
stdio.printf("\n=== Complex Case Matching With Ranges (start=0, end=35) ===\n")
logic.ComplexCaseMatchingWithRanges(0, 35)
stdio.printf("\n=== While With Elif In Elif Chain (limit=7) ===\n")
logic.WhileWithElifInElifChain(7)
stdio.printf("\n=== For With Case NoBreak Nested (inner_limit=4) ===\n")
logic.ForWithCaseNoBreakNested(4)
stdio.printf("\n============== CLASS TESTS ==============\n")
class_test.TestBasicDataClass()
class_test.TestPoint3DClass()
class_test.TestStudentClass()
class_test.TestCounterClass()
class_test.TestStackAllocation()
class_test.TestHeapAllocation()
class_test.TestHeapObjectWithInit()
class_test.TestMultipleStackObjects()
class_test.TestImplicitInitCall()
class_test.TestClassWithBitFields()
stdio.printf("\n============== ARRAY TESTS ==============\n")
class_test.TestIntArray()
class_test.TestFloatArray()
class_test.TestCharArray()
class_test.TestNestedArray()
class_test.TestArrayWithStruct()
class_test.TestArrayPointer()
class_test.TestDynamicString()
stdio.printf("\n============== All Tests Completed ==============\n")
return 0