public void TryWrappedArrayAsSCIList1()
{
B[] myarray = new B[] { new B(), new B(), new C() };
System.Collections.IList list = new WrappedArray<B>(myarray);
// Should be called with a three-element WrappedArray<B>
Assert.AreEqual(3, list.Count);
Assert.IsTrue(list.IsFixedSize);
Assert.IsFalse(list.IsSynchronized);
Assert.AreNotEqual(null, list.SyncRoot);
Assert.AreEqual(myarray.SyncRoot, list.SyncRoot);
Object b1 = new B(), b2 = new B(), c1 = new C(), c2 = new C();
list[0] = b2;
Assert.AreEqual(b2, list[0]);
list[1] = c2;
Assert.AreEqual(c2, list[1]);
Assert.IsTrue(list.Contains(b2));
Assert.IsTrue(list.Contains(c2));
Array arrA = new A[3], arrB = new B[3];
list.CopyTo(arrA, 0);
list.CopyTo(arrB, 0);
Assert.AreEqual(b2, arrA.GetValue(0));
Assert.AreEqual(b2, arrB.GetValue(0));
Assert.AreEqual(c2, arrA.GetValue(1));
Assert.AreEqual(c2, arrB.GetValue(1));
Assert.AreEqual(0, list.IndexOf(b2));
Assert.AreEqual(-1, list.IndexOf(b1));
Assert.AreEqual(-1, list.IndexOf(c1));
Assert.IsFalse(list.Contains(b1));
Assert.IsFalse(list.Contains(c1));
}