module Main { import Std::Array::Array; import Std::Iter::Iter; import Std::Test::Test; import Std::Io::Io; func Main() -> int { var arr: Array = Array_New(4); Array_Push(&arr, 10); Array_Push(&arr, 20); Array_Push(&arr, 30); Test_AssertEqInt(Array_Len(&arr) as int, 3); Test_AssertEqInt(Array_Get(&arr, 0), 10); Test_AssertEqInt(Array_Get(&arr, 1), 20); Test_AssertEqInt(Array_Get(&arr, 2), 30); var it: Iter = Array_Iter(&arr); Test_AssertTrue(Iter_HasNext(&it)); Test_AssertEqInt(Iter_Next(&it), 10); Test_AssertEqInt(Iter_Next(&it), 20); Test_AssertEqInt(Iter_Next(&it), 30); Test_AssertFalse(Iter_HasNext(&it)); var it2: Iter = Array_Iter(&arr); let count: uint = Iter_Count(&it2); Test_AssertEqInt(count as int, 3); Print("All array+iter tests passed!"); Array_Free(&arr); return 0; } }