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"))); }
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); }