public void Constructor1()
        {
            CodeTypeParameter tp1 = new CodeTypeParameter();
            CodeTypeParameter tp2 = new CodeTypeParameter();

            CodeTypeParameter[]         typeParams = new CodeTypeParameter[] { tp1, tp2 };
            CodeTypeParameterCollection coll       = new CodeTypeParameterCollection(
                typeParams);

            Assert.AreEqual(2, coll.Count, "#1");
            Assert.AreEqual(0, coll.IndexOf(tp1), "#2");
            Assert.AreEqual(1, coll.IndexOf(tp2), "#3");
        }
        public void Insert()
        {
            CodeTypeParameter tp1 = new CodeTypeParameter();
            CodeTypeParameter tp2 = new CodeTypeParameter();

            CodeTypeParameterCollection coll = new CodeTypeParameterCollection();

            coll.Add(tp1);
            Assert.AreEqual(1, coll.Count, "#1");
            Assert.AreEqual(0, coll.IndexOf(tp1), "#2");
            coll.Insert(0, tp2);
            Assert.AreEqual(2, coll.Count, "#3");
            Assert.AreEqual(1, coll.IndexOf(tp1), "#4");
            Assert.AreEqual(0, coll.IndexOf(tp2), "#5");
        }
        public void Constructor2()
        {
            CodeTypeParameter tp1 = new CodeTypeParameter();
            CodeTypeParameter tp2 = new CodeTypeParameter();

            CodeTypeParameterCollection c = new CodeTypeParameterCollection();

            c.Add(tp1);
            c.Add(tp2);

            CodeTypeParameterCollection coll = new CodeTypeParameterCollection(c);

            Assert.AreEqual(2, coll.Count, "#1");
            Assert.AreEqual(0, coll.IndexOf(tp1), "#2");
            Assert.AreEqual(1, coll.IndexOf(tp2), "#3");
        }
        public void Remove()
        {
            CodeTypeParameter ctp1 = new CodeTypeParameter();
            CodeTypeParameter ctp2 = new CodeTypeParameter();

            CodeTypeParameterCollection coll = new CodeTypeParameterCollection();

            coll.Add(ctp1);
            coll.Add(ctp2);
            Assert.AreEqual(2, coll.Count, "#1");
            Assert.AreEqual(0, coll.IndexOf(ctp1), "#2");
            Assert.AreEqual(1, coll.IndexOf(ctp2), "#3");
            coll.Remove(ctp1);
            Assert.AreEqual(1, coll.Count, "#4");
            Assert.AreEqual(-1, coll.IndexOf(ctp1), "#5");
            Assert.AreEqual(0, coll.IndexOf(ctp2), "#6");
        }
        public void AddRange()
        {
            CodeTypeParameter tp1 = new CodeTypeParameter();
            CodeTypeParameter tp2 = new CodeTypeParameter();
            CodeTypeParameter tp3 = new CodeTypeParameter();

            CodeTypeParameterCollection coll1 = new CodeTypeParameterCollection();

            coll1.Add(tp1);
            coll1.Add(tp2);

            CodeTypeParameterCollection coll2 = new CodeTypeParameterCollection();

            coll2.Add(tp3);
            coll2.AddRange(coll1);
            Assert.AreEqual(3, coll2.Count, "#1");
            Assert.AreEqual(1, coll2.IndexOf(tp1), "#2");
            Assert.AreEqual(2, coll2.IndexOf(tp2), "#3");
            Assert.AreEqual(0, coll2.IndexOf(tp3), "#4");

            CodeTypeParameterCollection coll3 = new CodeTypeParameterCollection();

            coll3.Add(tp3);
            coll3.AddRange(new CodeTypeParameter[] { tp1, tp2 });
            Assert.AreEqual(3, coll2.Count, "#5");
            Assert.AreEqual(1, coll2.IndexOf(tp1), "#6");
            Assert.AreEqual(2, coll2.IndexOf(tp2), "#7");
            Assert.AreEqual(0, coll2.IndexOf(tp3), "#8");
        }