AjTalk.Tests.EvaluateTests.EvaluateCompositeCollection C# (CSharp) Method

EvaluateCompositeCollection() private method

private EvaluateCompositeCollection ( ) : void
return void
        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);
        }
EvaluateTests