public void EvaluateCompositeCollection()
{
object result = this.Evaluate("#(1 (1 2 3) 'string')");
Assert.IsNotNull(result);
Assert.IsInstanceOfType(result, typeof(IEnumerable));
int k = 0;
object[] values = new object[] { 1, new object[] { 1, 2, 3 }, "string" };
foreach (object v in (IEnumerable)result)
{
if (v is object[] && values[k] is object[])
{
object[] a1 = (object[])v;
object[] a2 = (object[])values[k];
Assert.AreEqual(a1.Length, a2.Length);
for (int j = 0; j < a1.Length; j++)
Assert.AreEqual(a1[j], a2[j]);
}
else
Assert.AreEqual(values[k], v);
k++;
}
Assert.AreEqual(3, k);
}