public void TestReturnIList() { string code = @" import(DummyCollection from ""FFITarget.dll""); a = 1..5; b = DummyCollection.ReturnIList(a); " ; theTest.RunScriptSource(code); var methods = theTest.GetMethods("DummyCollection", "ReturnIList"); //IList is marshaled as arbitrary rank var array Assert.AreEqual((int)ProtoCore.PrimitiveType.kTypeVar, methods[0].ReturnType.Value.UID); Assert.AreEqual(Constants.kArbitraryRank, methods[0].ReturnType.Value.rank); var args = methods[0].GetArgumentTypes(); Assert.AreEqual((int)ProtoCore.PrimitiveType.kTypeInt, args[0].UID); Assert.AreEqual(1, args[0].rank); //Expecting it tobe marshaled as 1D array theTest.Verify("b", new int[] { 1, 2, 3, 4, 5 }); }