public void Constructor1()
        {
            CodeCatchClause cc1 = new CodeCatchClause();
            CodeCatchClause cc2 = new CodeCatchClause();

            CodeCatchClause[]         catchClauses = new CodeCatchClause[] { cc1, cc2 };
            CodeCatchClauseCollection coll         = new CodeCatchClauseCollection(
                catchClauses);

            Assert.AreEqual(2, coll.Count, "#1");
            Assert.AreEqual(0, coll.IndexOf(cc1), "#2");
            Assert.AreEqual(1, coll.IndexOf(cc2), "#3");
        }
        public void Insert()
        {
            CodeCatchClause cc1 = new CodeCatchClause();
            CodeCatchClause cc2 = new CodeCatchClause();

            CodeCatchClauseCollection coll = new CodeCatchClauseCollection();

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

            CodeCatchClauseCollection c = new CodeCatchClauseCollection();

            c.Add(cc1);
            c.Add(cc2);

            CodeCatchClauseCollection coll = new CodeCatchClauseCollection(c);

            Assert.AreEqual(2, coll.Count, "#1");
            Assert.AreEqual(0, coll.IndexOf(cc1), "#2");
            Assert.AreEqual(1, coll.IndexOf(cc2), "#3");
        }
        public void AddRange()
        {
            CodeCatchClause cc1 = new CodeCatchClause();
            CodeCatchClause cc2 = new CodeCatchClause();
            CodeCatchClause cc3 = new CodeCatchClause();

            CodeCatchClauseCollection coll1 = new CodeCatchClauseCollection();

            coll1.Add(cc1);
            coll1.Add(cc2);

            CodeCatchClauseCollection coll2 = new CodeCatchClauseCollection();

            coll2.Add(cc3);
            coll2.AddRange(coll1);
            Assert.AreEqual(3, coll2.Count, "#1");
            Assert.AreEqual(1, coll2.IndexOf(cc1), "#2");
            Assert.AreEqual(2, coll2.IndexOf(cc2), "#3");
            Assert.AreEqual(0, coll2.IndexOf(cc3), "#4");

            CodeCatchClauseCollection coll3 = new CodeCatchClauseCollection();

            coll3.Add(cc3);
            coll3.AddRange(new CodeCatchClause[] { cc1, cc2 });
            Assert.AreEqual(3, coll2.Count, "#5");
            Assert.AreEqual(1, coll2.IndexOf(cc1), "#6");
            Assert.AreEqual(2, coll2.IndexOf(cc2), "#7");
            Assert.AreEqual(0, coll2.IndexOf(cc3), "#8");
        }
        public void Constructor1_Deny_Unrestricted()
        {
            CodeCatchClauseCollection coll = new CodeCatchClauseCollection(array);

            coll.CopyTo(array, 0);
            Assert.AreEqual(1, coll.Add(ccc), "Add");
            Assert.AreSame(ccc, coll[0], "this[int]");
            coll.AddRange(array);
            coll.AddRange(coll);
            Assert.IsTrue(coll.Contains(ccc), "Contains");
            Assert.AreEqual(0, coll.IndexOf(ccc), "IndexOf");
            coll.Insert(0, ccc);
            coll.Remove(ccc);
        }
Exemple #6
0
        // CodeCatchClauseCollection
        public void CodeCatchClauseCollectionExample()
        {
            //<Snippet1>
            //<Snippet2>
            // Creates an empty CodeCatchClauseCollection.
            CodeCatchClauseCollection collection = new CodeCatchClauseCollection();

            //</Snippet2>

            //<Snippet3>
            // Adds a CodeCatchClause to the collection.
            collection.Add(new CodeCatchClause("e"));
            //</Snippet3>

            //<Snippet4>
            // Adds an array of CodeCatchClause objects to the collection.
            CodeCatchClause[] clauses = { new CodeCatchClause(), new CodeCatchClause() };
            collection.AddRange(clauses);

            // Adds a collection of CodeCatchClause objects to the collection.
            CodeCatchClauseCollection clausesCollection = new CodeCatchClauseCollection();

            clausesCollection.Add(new CodeCatchClause("e", new CodeTypeReference(typeof(System.ArgumentOutOfRangeException))));
            clausesCollection.Add(new CodeCatchClause("e"));
            collection.AddRange(clausesCollection);
            //</Snippet4>

            //<Snippet5>
            // Tests for the presence of a CodeCatchClause in the
            // collection, and retrieves its index if it is found.
            CodeCatchClause testClause = new CodeCatchClause("e");
            int             itemIndex  = -1;

            if (collection.Contains(testClause))
            {
                itemIndex = collection.IndexOf(testClause);
            }
            //</Snippet5>

            //<Snippet6>
            // Copies the contents of the collection beginning at index 0 to the specified CodeCatchClause array.
            // 'clauses' is a CodeCatchClause array.
            collection.CopyTo(clauses, 0);
            //</Snippet6>

            //<Snippet7>
            // Retrieves the count of the items in the collection.
            int collectionCount = collection.Count;

            //</Snippet7>

            //<Snippet8>
            // Inserts a CodeCatchClause at index 0 of the collection.
            collection.Insert(0, new CodeCatchClause("e"));
            //</Snippet8>

            //<Snippet9>
            // Removes the specified CodeCatchClause from the collection.
            CodeCatchClause clause = new CodeCatchClause("e");

            collection.Remove(clause);
            //</Snippet9>

            //<Snippet10>
            // Removes the CodeCatchClause at index 0.
            collection.RemoveAt(0);
            //</Snippet10>
            //</Snippet1>
        }