public void IList()
 {
   DoubleVector a = new DoubleVector(new double[4]{0,1,2,3});
   
   Assert.AreEqual(a.IsFixedSize,false);
   Assert.AreEqual(a.IsReadOnly,false);
   
   a.Add(4.0);
   Assert.AreEqual(a.Length,5);
   Assert.AreEqual(a[4],4);
   Assert.AreEqual(a.Contains(4.0),true);
   
   a.Insert(1,5.0);
   Assert.AreEqual(a.Length,6);
   Assert.AreEqual(a.Contains(5.0),true);
   Assert.AreEqual(a[0],0);
   Assert.AreEqual(a[1],5);
   Assert.AreEqual(a[2],1);
   Assert.AreEqual(a[3],2);
   Assert.AreEqual(a[4],3);
   Assert.AreEqual(a[5],4);
   
   a.Remove(5.0);
   Assert.AreEqual(a.Length,5);
   Assert.AreEqual(a.Contains(5.0),false);
   Assert.AreEqual(a[0],0);
   Assert.AreEqual(a[1],1);
   Assert.AreEqual(a[2],2);
   Assert.AreEqual(a[3],3);
   Assert.AreEqual(a[4],4);
   
   a.RemoveAt(2);
   Assert.AreEqual(a.Length,4);
   Assert.AreEqual(a.Contains(2.0),false);
   Assert.AreEqual(a[0],0);
   Assert.AreEqual(a[1],1);
   Assert.AreEqual(a[2],3);
   Assert.AreEqual(a[3],4);
 }