示例#1
0
        public void Constructor1()
        {
            CodeDirective cd1 = new CodeDirective();
            CodeDirective cd2 = new CodeDirective();

            CodeDirective[]         directives = new CodeDirective[] { cd1, cd2 };
            CodeDirectiveCollection coll       = new CodeDirectiveCollection(
                directives);

            Assert.AreEqual(2, coll.Count, "#1");
            Assert.AreEqual(0, coll.IndexOf(cd1), "#2");
            Assert.AreEqual(1, coll.IndexOf(cd2), "#3");
        }
示例#2
0
        public void Insert()
        {
            CodeDirective cd1 = new CodeDirective();
            CodeDirective cd2 = new CodeDirective();

            CodeDirectiveCollection coll = new CodeDirectiveCollection();

            coll.Add(cd1);
            Assert.AreEqual(1, coll.Count, "#1");
            Assert.AreEqual(0, coll.IndexOf(cd1), "#2");
            coll.Insert(0, cd2);
            Assert.AreEqual(2, coll.Count, "#3");
            Assert.AreEqual(1, coll.IndexOf(cd1), "#4");
            Assert.AreEqual(0, coll.IndexOf(cd2), "#5");
        }
示例#3
0
        public void Constructor2()
        {
            CodeDirective cd1 = new CodeDirective();
            CodeDirective cd2 = new CodeDirective();

            CodeDirectiveCollection c = new CodeDirectiveCollection();

            c.Add(cd1);
            c.Add(cd2);

            CodeDirectiveCollection coll = new CodeDirectiveCollection(c);

            Assert.AreEqual(2, coll.Count, "#1");
            Assert.AreEqual(0, coll.IndexOf(cd1), "#2");
            Assert.AreEqual(1, coll.IndexOf(cd2), "#3");
        }
示例#4
0
        public void AddRange()
        {
            CodeDirective cd1 = new CodeDirective();
            CodeDirective cd2 = new CodeDirective();
            CodeDirective cd3 = new CodeDirective();

            CodeDirectiveCollection coll1 = new CodeDirectiveCollection();

            coll1.Add(cd1);
            coll1.Add(cd2);

            CodeDirectiveCollection coll2 = new CodeDirectiveCollection();

            coll2.Add(cd3);
            coll2.AddRange(coll1);
            Assert.AreEqual(3, coll2.Count, "#1");
            Assert.AreEqual(1, coll2.IndexOf(cd1), "#2");
            Assert.AreEqual(2, coll2.IndexOf(cd2), "#3");
            Assert.AreEqual(0, coll2.IndexOf(cd3), "#4");

            CodeDirectiveCollection coll3 = new CodeDirectiveCollection();

            coll3.Add(cd3);
            coll3.AddRange(new CodeDirective[] { cd1, cd2 });
            Assert.AreEqual(3, coll2.Count, "#5");
            Assert.AreEqual(1, coll2.IndexOf(cd1), "#6");
            Assert.AreEqual(2, coll2.IndexOf(cd2), "#7");
            Assert.AreEqual(0, coll2.IndexOf(cd3), "#8");
        }
示例#5
0
        public void Constructor1_Deny_Unrestricted()
        {
            CodeDirectiveCollection coll = new CodeDirectiveCollection(array);

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

            //</Snippet2>

            //<Snippet3>
            // Adds a CodeDirective to the collection.
            collection.Add(new CodeRegionDirective(CodeRegionMode.Start, "Region1"));
            //</Snippet3>

            //<Snippet4>
            // Adds an array of CodeDirective objects to the collection.
            CodeDirective[] directives =
            {
                new CodeRegionDirective(CodeRegionMode.Start, "Region1"),
                new CodeRegionDirective(CodeRegionMode.End,   "Region1")
            };
            collection.AddRange(directives);

            // Adds a collection of CodeDirective objects to the collection.
            CodeDirectiveCollection directivesCollection = new CodeDirectiveCollection();

            directivesCollection.Add(new CodeRegionDirective(CodeRegionMode.Start, "Region2"));
            directivesCollection.Add(new CodeRegionDirective(CodeRegionMode.End, "Region2"));
            collection.AddRange(directivesCollection);
            //</Snippet4>

            //<Snippet5>
            // Tests for the presence of a CodeDirective in the
            // collection, and retrieves its index if it is found.
            CodeDirective testDirective = new CodeRegionDirective(CodeRegionMode.Start, "Region1");
            int           itemIndex     = -1;

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

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

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

            //</Snippet7>

            //<Snippet8>
            // Inserts a CodeDirective at index 0 of the collection.
            collection.Insert(0, new CodeRegionDirective(CodeRegionMode.Start, "Region1"));
            //</Snippet8>

            //<Snippet9>
            // Removes the specified CodeDirective from the collection.
            CodeDirective directive = new CodeRegionDirective(CodeRegionMode.Start, "Region1");

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

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