public void SubFieldCollection_AsReadOnly1()
        {
            SubFieldCollection collection = new SubFieldCollection();
            SubField           subFieldA  = new SubField('a', "Title1");

            collection.Add(subFieldA);
            SubField subFieldE = new SubField('e', "Subtitle");

            collection.Add(subFieldE);

            collection = collection.AsReadOnly();
            collection.Add(new SubField());
        }
        public void SubFieldCollection_SetReadOnly1()
        {
            SubFieldCollection collection = new SubFieldCollection();
            SubField           subFieldA  = new SubField('a', "Title1");

            collection.Add(subFieldA);
            SubField subFieldE = new SubField('e', "Subtitle");

            collection.Add(subFieldE);

            collection.SetReadOnly();

            subFieldA.Value = "New value";
        }
        public void SubFieldCollection_Clone1()
        {
            SubFieldCollection collection = new SubFieldCollection();
            SubField           subFieldA  = new SubField('a', "Title1");

            collection.Add(subFieldA);
            SubField subFieldE = new SubField('e', "Subtitle");

            collection.Add(subFieldE);

            SubFieldCollection clone = collection.Clone();

            Assert.AreEqual(collection.Count, clone.Count);
        }
        public void SubFieldCollection_ReadOnly2()
        {
            SubFieldCollection collection = new SubFieldCollection();

            collection.SetReadOnly();
            collection.Add(new SubField());
        }
        public void SubFieldCollection_FindAll1()
        {
            SubFieldCollection collection = new SubFieldCollection();
            SubField           subFieldA  = new SubField('a', "Title1");

            collection.Add(subFieldA);
            SubField subFieldE = new SubField('e', "Subtitle");

            collection.Add(subFieldE);

            SubField[] found = collection.FindAll
                               (
                x => x.Value.SameString("Subtitle")
                               );
            Assert.AreEqual(1, found.Length);

            found = collection.FindAll
                    (
                x => x.Value.SameString("Notitle")
                    );
            Assert.AreEqual(0, found.Length);
        }
        public void SubFieldCollection_Find1()
        {
            SubFieldCollection collection = new SubFieldCollection();
            SubField           subFieldA  = new SubField('a', "Title1");

            collection.Add(subFieldA);
            SubField subFieldE = new SubField('e', "Subtitle");

            collection.Add(subFieldE);

            SubField found = collection.Find
                             (
                x => x.Value.SameString("Subtitle")
                             );

            Assert.AreEqual(subFieldE, found);

            found = collection.Find
                    (
                x => x.Value.SameString("Notitle")
                    );
            Assert.IsNull(found);
        }