public void AddDocumentLanguge_AddDuplicate_DuplicateNotAdded()
        {
            IMDIPackage proj = new IMDIPackage(false, string.Empty);

            proj.MetadataIso3Languages.Add(new ArchivingLanguage("fra"));
            proj.MetadataIso3Languages.Add(new ArchivingLanguage("spa"));
            proj.MetadataIso3Languages.Add(new ArchivingLanguage("spa"));
            proj.MetadataIso3Languages.Add(new ArchivingLanguage("fra"));

            Assert.AreEqual(2, proj.MetadataIso3Languages.Count);
            Assert.IsTrue(proj.MetadataIso3Languages.Contains(new ArchivingLanguage("fra")));
            Assert.IsTrue(proj.MetadataIso3Languages.Contains(new ArchivingLanguage("spa")));
        }
示例#2
0
        private Mock <IMDIArchivingDlgViewModel> AddIMDISessionTestSetup(out Mock <SIL.Archiving.IMDI.Schema.Session> imdiSession, ComponentFile mediaFile = null)
        {
            var model = new Mock <IMDIArchivingDlgViewModel>(MockBehavior.Strict, "SayMore", "ddo", "ddo-session", "whatever",
                                                             false, null, @"C:\my_imdi_folder");

            imdiSession             = new Mock <SIL.Archiving.IMDI.Schema.Session>(MockBehavior.Strict);
            imdiSession.Object.Name = "ddo";
            model.Setup(m => m.AddSession(_session.Id)).Returns(imdiSession.Object);
            _session.MediaFiles = mediaFile == null ? new ComponentFile[0] : new[] { mediaFile };
            // We have to use real objects here because ArchivingPackage.FundingProject is not virtual.
            // We typically need an ArchivingPackage with a FundingProject because Session.AddProject()
            // uses FundingProject.Name.
            var ap = new IMDIPackage(false, "");

            model.Setup(m => m.ArchivingPackage).Returns(ap);
            ap.FundingProject = new ArchivingProject();
            return(model);
        }