snapshot before regression test
This commit is contained in:
51
Test/StringIterTest/App/inline_test.py
Normal file
51
Test/StringIterTest/App/inline_test.py
Normal file
@@ -0,0 +1,51 @@
|
||||
import t
|
||||
import stdio
|
||||
import c
|
||||
|
||||
# Test: @t.Object class with inline list[struct, N] field
|
||||
|
||||
class Inner:
|
||||
code: t.CUnsignedInt
|
||||
bits: t.CInt
|
||||
|
||||
@t.Object
|
||||
class Container:
|
||||
items: t.CArray[Inner, 10]
|
||||
count: t.CInt
|
||||
|
||||
def __init__(self):
|
||||
self.count = 0
|
||||
|
||||
def fill(self):
|
||||
for i in range(10):
|
||||
self.items[i].code = t.CUnsignedInt(i * 100)
|
||||
self.items[i].bits = i
|
||||
self.count += 1
|
||||
|
||||
def check(self):
|
||||
ok: t.CInt = 1
|
||||
for i in range(10):
|
||||
if self.items[i].code != t.CUnsignedInt(i * 100):
|
||||
stdio.printf("FAIL: items[%d].code=%u expect %d\n", i, self.items[i].code, i * 100)
|
||||
ok = 0
|
||||
if self.items[i].bits != i:
|
||||
stdio.printf("FAIL: items[%d].bits=%d expect %d\n", i, self.items[i].bits, i)
|
||||
ok = 0
|
||||
if ok:
|
||||
stdio.printf("PASS: inline list[struct, N] in @t.Object\n")
|
||||
else:
|
||||
stdio.printf("FAIL: inline list[struct, N] in @t.Object\n")
|
||||
|
||||
def main() -> t.CInt:
|
||||
stdio.printf("=== InlineArrayTest ===\n")
|
||||
c1 = Container()
|
||||
c1.fill()
|
||||
c1.check()
|
||||
|
||||
# Also test: local variable of @t.Object type
|
||||
c2 = Container()
|
||||
c2.fill()
|
||||
c2.check()
|
||||
|
||||
stdio.printf("=== InlineArrayTest Complete ===\n")
|
||||
return 0
|
||||
Reference in New Issue
Block a user