public void MusicSelection_ConstructorNoId_ArgumentComposerIsWhiteSpace_ThrowsArgumentNullException()
        {
            //Arrange
            MusicSelectionMock myMusicSelection;

            //Act
            myMusicSelection = new MusicSelectionMock("507f191e810c19729de860ea", "Blest Are They", null);
        }
        public void MusicSelection_ConstructorNoId_StringArgumentInstitution_idIsWhiteString_ThrowsArgumentException()
        {
            //Arrange
            MusicSelectionMock myMusicSelection;
            Contributor        composer = new Contributor(new Name("David", "", "Haas"), "Composer");

            //Act
            myMusicSelection = new MusicSelectionMock("  ", "Blest Are They", composer);
        }
        public void MusicSelection_ConstructorNoId_StringArgumentTitleIsWhiteSpace_ThrowsArgumentException()
        {
            //Arrange
            MusicSelectionMock myMusicSelection;
            Contributor        composer = new Contributor(new Name("David", "", "Haas"), "Composer");

            //Act
            myMusicSelection = new MusicSelectionMock("507f191e810c19729de860ea", "    ", composer);
        }
        public void MusicSelection_ConstructorWithId_StringArgumentInstitution_idIsEmpty_ThrowsArgumentException()
        {
            //Arrange
            MusicSelectionMock myMusicSelection;
            Contributor        composer = new Contributor(new Name("David", "", "Haas"), "Composer");

            //Act
            myMusicSelection = new MusicSelectionMock("507f191e810c19729de860ea", "", "Blest Are They", composer);
        }
        public void MusicSelection_RemoveContributor_ArgumentContributorIsNull_ThrowsArgumentNullException()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);

            //Act
            myMusicSelection.removeContributor(null);
        }
        public void MusicSelection_MethodSetTitle_ArgumentTitleIsWhiteSpace_ThrowsArgumentException()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);

            //Act
            myMusicSelection.setTitle("   ");
        }
        public void MusicSelection_MethodSetComposer_ArgumentDoesNotHaveFieldRoleSetToComposer_ThrowsArgumentException()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            Contributor        arranger         = new Contributor(new Name("Joe", "L", "Doe"), "Arranger");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);

            //Act
            myMusicSelection.setComposer(arranger);
        }
        public void MusicSelection_ConstructorNoId_ArgumentInstitution_idIsSetCorrectly()
        {
            //Arrange
            MusicSelectionMock myMusicSelection;
            Contributor        composer = new Contributor(new Name("David", "", "Haas"), "Composer");

            //Act
            myMusicSelection = new MusicSelectionMock("507f191e810c19729de860ea", "Blest Are They", composer);

            //Assert
            Assert.AreEqual("507f191e810c19729de860ea", myMusicSelection.Institution_id);
        }
        public void MusicSelection_ConstructorWithId_ArgumentTitle_LowerCaseIsSetCorrectly()
        {
            //Arrange
            MusicSelectionMock myMusicSelection;
            Contributor        composer = new Contributor(new Name("David", "", "Haas"), "Composer");

            //Act
            myMusicSelection = new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);

            //Assert
            Assert.AreEqual("blest are they", myMusicSelection.Title_LowerCase);
        }
        public void MusicSelection_MethodSetInstrumentation_FieldInstrumentation_LowerCaseSetCorrectly()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);

            //Act
            myMusicSelection.setInstrumentation("  Organ and Brass ");

            //Assert
            Assert.AreEqual("organ and brass", myMusicSelection.Instrumentation_LowerCase);
        }
        public void MusicSelection_MethodSetPublisher_FieldPublisherSetCorrectly()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);

            //Act
            myMusicSelection.setPublisher("Acme Publishing");

            //Assert
            Assert.AreEqual("Acme Publishing", myMusicSelection.Publisher);
        }
        public void MusicSelection_MethodSetItemNumber_FieldItemNumber_LowerCaseSetCorrectly()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);

            //Act
            myMusicSelection.setItemNumber("ABC123");

            //Assert
            Assert.AreEqual("abc123", myMusicSelection.ItemNumber_LowerCase);
        }
        public void MusicSelection_MethodRemoveTag_ArgumentTagIsNull_ThrowsArgumentNullException()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);
            Tag myTag = new Tag("Easter");

            myMusicSelection.addTag(myTag);

            //Act
            myMusicSelection.removeTag(null);
        }
        public void MusicSelection_MethodSetGenre_FieldGenre_LowerCaseSetCorrectly()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);

            //Act
            myMusicSelection.setGenre(" Chant ");

            //Assert
            Assert.AreEqual("chant", myMusicSelection.Genre_LowerCase);
        }
        public void MusicSelection_MethodSetDifficultyLevel_FieldDifficultyLevel_LowerCaseSetCorrectly()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);

            //Act
            myMusicSelection.setDifficultyLevel(" Hard ");

            //Assert
            Assert.AreEqual("hard", myMusicSelection.DifficultyLevel_LowerCase);
        }
        public void MusicSelection_MethodSetIsLendable_FieldIsLendableSetCorrectly()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);

            //Act
            myMusicSelection.setIsLendable(true);

            //Assert
            Assert.AreEqual(true, myMusicSelection.IsLendable);
        }
        public void MusicSelection_MethodSetPerformanceNotes_FieldPerformanceNotesSetCorrectly()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);

            //Act
            myMusicSelection.setPerformanceNotes("Here are some nice performance notes.");

            //Assert
            Assert.AreEqual("Here are some nice performance notes.", myMusicSelection.PerformanceNotes);
        }
        public void MusicSelection_MethodSetComposer()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            Contributor        newComposer      = new Contributor(new Name("Joe", "L", "Doe"), " Composer ");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);

            //Act
            myMusicSelection.setComposer(newComposer);

            //Assert
            Assert.AreEqual("Composer", myMusicSelection.Composer.Role);
        }
        public void MusicSelection_RemoveContributor_AttemptToRemoveContributorThatDoesNotExistIntheList_ThrowsArgumentException()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);
            Contributor contributor1 = new Contributor(new Name("Billy", "", "Bob"), "Arranger");
            Contributor contributor2 = new Contributor(new Name("Jane", "", "Jones"), "Editor");


            //Act
            myMusicSelection.addContributor(contributor1);
            myMusicSelection.removeContributor(contributor2);
        }
        public void MusicSelection_MethodAddTag_AddingNewTag()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);
            Tag myTag = new Tag("Easter");

            //Act
            myMusicSelection.addTag(myTag);

            //Assert
            Assert.AreEqual(myTag.TagName, myMusicSelection.getTags()[0].TagName);
        }
        public void MusicSelection_MethodAddTag_AttemptToAddDuplicateTag_DoesNotAddTheTag()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);
            Tag myTag = new Tag("Easter");

            myMusicSelection.addTag(myTag);

            //Act
            myMusicSelection.addTag(myTag);

            //Assert
            Assert.AreEqual(1, myMusicSelection.getTags().Count);
        }
        public void MusicSelection_MethodAddContributor()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);

            //Act
            Contributor        arranger      = new Contributor(new Name("Billy", "", "Bob"), "Arranger");
            List <Contributor> expectedValue = new List <Contributor>()
            {
                arranger
            };

            myMusicSelection.addContributor(arranger);

            //Assert
            CollectionAssert.AreEqual(expectedValue, myMusicSelection.getContributors());
        }
        public void MusicSelection_MethodRemoveTag()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);
            Tag myTag  = new Tag("Easter");
            Tag myTag2 = new Tag("Lent");

            myMusicSelection.addTag(myTag);
            myMusicSelection.addTag(myTag2);
            List <Tag> expectedValue = new List <Tag> {
                myTag
            };

            //Act
            myMusicSelection.removeTag(myTag2);

            //Assert
            CollectionAssert.AreEqual(expectedValue, myMusicSelection.getTags());
        }
        public void MusicSelection_RemoveContributor()
        {
            //Arrange
            Contributor        composer         = new Contributor(new Name("David", "", "Haas"), "Composer");
            MusicSelectionMock myMusicSelection =
                new MusicSelectionMock("9999991e810c19729de860ea", "507f191e810c19729de860ea", "Blest Are They", composer);
            Contributor        contributor1  = new Contributor(new Name("Billy", "", "Bob"), "Arranger");
            Contributor        contributor2  = new Contributor(new Name("Jane", "", "Jones"), "Editor");
            Contributor        contributor3  = new Contributor(new Name("Frank", "", "Williams"), "Arranger");
            List <Contributor> expectedValue = new List <Contributor>()
            {
                contributor1, contributor3
            };

            //Act
            myMusicSelection.addContributor(contributor1);
            myMusicSelection.addContributor(contributor2);
            myMusicSelection.addContributor(contributor3);
            myMusicSelection.removeContributor(contributor2);

            //Assert
            CollectionAssert.AreEqual(expectedValue, myMusicSelection.getContributors());
        }