public void GetOneLanguage_DefinedName_ReturnsCodeAndName() { var returnValue = ArchivingHelper.GetOneLanguage("English"); Assert.AreEqual("eng", returnValue.Iso3Code); Assert.AreEqual("English", returnValue.LanguageName); Assert.AreEqual("English", returnValue.EnglishName); }
public void AddIMDISession_SetEthnicGroup_PersonHasEthnicGroup() { const string sampleEthnicGroup = "Ewondo"; _personMetaFile.Setup(m => m.GetStringValue("ethnicGroup", It.IsAny <string>())).Returns(sampleEthnicGroup); var model = AddIMDISessionTestSetup(out var imdiSession); ArchivingHelper.AddIMDISession(_session, model.Object); var actor = imdiSession.Object.MDGroup.Actors.Actor.FirstOrDefault(); Assert.AreEqual(sampleEthnicGroup, actor.EthnicGroup); }
public void AddIMDISession_AddNotes_AddContentDescription() { const string sampleNote = "Recording was made externally"; _session.MetaFile.Setup(f => f.GetStringValue("notes", It.IsAny <string>())).Returns(sampleNote); var model = AddIMDISessionTestSetup(out var imdiSession); ArchivingHelper.AddIMDISession(_session, model.Object); var val = (from d in imdiSession.Object.MDGroup.Content.Description select d.Value).FirstOrDefault(); Assert.AreEqual(sampleNote, val); }
public void GetOneLanguage_DefaultName_ReturnsCodeAndName() { var project = new Mock <Project>(MockBehavior.Strict, Path.Combine(Path.GetTempPath(), "foo", "foo." + Project.ProjectSettingsFileExtension), null, null); project.Object.VernacularISO3CodeAndName = "tru:Turoyo"; ArchivingHelper.Project = project.Object; var returnValue = ArchivingHelper.GetOneLanguage("Turoyo"); Assert.AreEqual("tru", returnValue.Iso3Code); Assert.AreEqual("Turoyo", returnValue.LanguageName); Assert.AreEqual("Turoyo", returnValue.EnglishName); ArchivingHelper.Project = null; }
public void InitializeActor_NoBirthYear_ExpectUnspecifiedAge() { var model = new Mock <IMDIArchivingDlgViewModel>(MockBehavior.Strict, "SayMore", "ddo", "ddo-session", "whatever", false, null, @"C:\my_imdi_folder"); var person = new Mock <Person>(); person.Setup(p => p.MetaDataFile.GetStringValue("privacyProtection", "false")).Returns("false"); person.Setup(p => p.MetaDataFile.GetStringValue("birthYear", string.Empty)).Returns(string.Empty); var actor = ArchivingHelper.InitializeActor(model.Object, person.Object, DateTime.MinValue); Assert.AreEqual("Unspecified", actor.Age); model.VerifyAll(); }
public void GetOneLanguage_PrivateUseIso_ReturnsNull() { ArchivingHelper.Project = null; // The first code in the private area is actually defined for us. var returnValue = ArchivingHelper.GetOneLanguage("qaa"); Assert.IsNotNull(returnValue); Assert.AreEqual("Unlisted Language", returnValue.EnglishName); Assert.AreEqual(returnValue.Iso3Code, "qaa"); // But the second and following codes are undefined. returnValue = ArchivingHelper.GetOneLanguage("qab"); Assert.IsNull(returnValue); }
public void GetOneLanguage_UnknownLanguageCodeOrName_ReturnsNull() { // Putting a language on the project because at one time this was a default value for GetOneLanguage. // But even if the project has a language, and unknown language is unknown. var project = new Mock <Project>(MockBehavior.Strict, Path.Combine(Path.GetTempPath(), "foo", "foo." + Project.ProjectSettingsFileExtension), null, null); project.Object.VernacularISO3CodeAndName = "tru:Turoyo"; ArchivingHelper.Project = project.Object; var returnValue = ArchivingHelper.GetOneLanguage("tru"); Assert.That(returnValue, Is.Null); returnValue = ArchivingHelper.GetOneLanguage("Turoyo"); Assert.That(returnValue, Is.Null); }
public void InitializeActor_AgeEqualBirthYearMinusSessionYear_Expect68() { var model = new Mock <IMDIArchivingDlgViewModel>(MockBehavior.Strict, "SayMore", "ddo", "ddo-session", "whatever", false, null, @"C:\my_imdi_folder"); var person = new Mock <Person>(); person.Setup(p => p.MetaDataFile.GetStringValue("privacyProtection", "false")).Returns("false"); person.Setup(p => p.MetaDataFile.GetStringValue("birthYear", string.Empty)).Returns("1950"); var actor = ArchivingHelper.InitializeActor(model.Object, person.Object, new DateTime(2018, 1, 1), "Participant"); Assert.AreEqual("68", actor.Age); person.VerifyAll(); model.VerifyAll(); }
public void AddIMDISession_PersonCode_AddActorHasSameCode() { const string sampleCode = "123"; _personMetaFile.Setup(m => m.GetStringValue(PersonFileType.kCode, It.IsAny <string>())).Returns(sampleCode); var model = AddIMDISessionTestSetup(out var imdiSession); ArchivingHelper.AddIMDISession(_session, model.Object); var val = (from a in imdiSession.Object.MDGroup.Actors.Actor where !string.IsNullOrEmpty(a.Code) select a.Code).FirstOrDefault(); Assert.AreEqual(sampleCode, val); }
public void AddIMDISession_PersonContact_AddActorContactAddress() { const string sampleValue = "house next to flag pole"; _personMetaFile.Setup(m => m.GetStringValue("howToContact", It.IsAny <string>())).Returns(sampleValue); var model = AddIMDISessionTestSetup(out var imdiSession); ArchivingHelper.AddIMDISession(_session, model.Object); var val = (from a in imdiSession.Object.MDGroup.Actors.Actor where a.Contact != null select a.Contact.Address).FirstOrDefault(); Assert.AreEqual(sampleValue, val); }
public void AddIMDISession_AddSituation_AddSituationAsContentKey() { const string sampleSituation = "village hut recording"; _session.MetaFile.Setup(f => f.GetStringValue("situation", It.IsAny <string>())).Returns(sampleSituation); var model = AddIMDISessionTestSetup(out var imdiSession); ArchivingHelper.AddIMDISession(_session, model.Object); var situationValue = (from k in imdiSession.Object.MDGroup.Content.Keys.Key where k.Name == "Situation" // The keyword in the saymore session is lowercase but in Imdi we chose uppercase select k.Value).FirstOrDefault(); Assert.AreEqual(sampleSituation, situationValue); }
public void AddIMDISession_PersonNotes_AddPersonDescription() { const string sampleValue = "I met him in college"; _personMetaFile.Object.MetaDataFieldValues.Add(new FieldInstance("notes", sampleValue)); var model = AddIMDISessionTestSetup(out var imdiSession); ArchivingHelper.AddIMDISession(_session, model.Object); var val = (from a in imdiSession.Object.MDGroup.Actors.Actor from d in a.Description select d.Value).FirstOrDefault(); Assert.AreEqual(sampleValue, val); }
public void AddIMDISession_SessionCustomField_AddCustomKeyValueAsContentKeyValue() { const string sampleKey = "SampleKey"; const string sampleValue = "My Sample Value"; _session.MetaFile.Setup(f => f.GetCustomFields()).Returns(new[] { new FieldInstance(XmlFileSerializer.kCustomFieldIdPrefix + sampleKey, sampleValue) }); var model = AddIMDISessionTestSetup(out var imdiSession); ArchivingHelper.AddIMDISession(_session, model.Object); var val = (from k in imdiSession.Object.MDGroup.Content.Keys.Key where k.Name == sampleKey select k.Value).FirstOrDefault(); Assert.AreEqual(sampleValue, val); }
public void AddIMDISession_MediaDuration_IMDIMediaFileDurationSet() { const string sampleDuration = "06:03:00"; var sourceMediaFile1 = IMDIMediaFileSetup(); sourceMediaFile1.Object.MetaDataFieldValues.Add(new FieldInstance("Duration", sampleDuration)); var model = AddIMDISessionTestSetup(out var imdiSession, sourceMediaFile1.Object); ArchivingHelper.AddIMDISession(_session, model.Object); var val = (from f in imdiSession.Object.Resources.MediaFile where f.TimePosition.End != null where f.TimePosition.End != "Unspecified" select f.TimePosition.End).FirstOrDefault(); Assert.AreEqual(sampleDuration, val); }
public void AddIMDISession_AddResourceNotes_AddAsResourceDescription() { const string sampleNote = "A personal history"; var sourceMediaFile1 = IMDIMediaFileSetup(); sourceMediaFile1.Object.MetaDataFieldValues.Add(new FieldInstance("notes", sampleNote)); var model = AddIMDISessionTestSetup(out var imdiSession, sourceMediaFile1.Object); ArchivingHelper.AddIMDISession(_session, model.Object); var val = (from f in imdiSession.Object.Resources.MediaFile from d in f.Description where d.Value != null select d.Value).FirstOrDefault(); Assert.AreEqual(sampleNote, val); }
public void AddIMDISession_RecordingEquipment_EquipmentInKeysOfModelIMDISession() { var sourceMediaFile1 = IMDIMediaFileSetup(); sourceMediaFile1.Object.MetaDataFieldValues.Add(new FieldInstance("Device", "Computer")); sourceMediaFile1.Object.MetaDataFieldValues.Add(new FieldInstance("Microphone", "Zoom")); var model = AddIMDISessionTestSetup(out var imdiSession, sourceMediaFile1.Object); ArchivingHelper.AddIMDISession(_session, model.Object); var eqCount = (from f in imdiSession.Object.Resources.MediaFile from k in f.Keys.Key where k.Name == "RecordingEquipment" select k.Name).Count(); Assert.AreEqual(2, eqCount); }
public void AddIMDISession_ExportSessionContributors_SessionContributorsIncluded() { const string samplePerson = "Jane Doe"; var contributionCollection = new Mock <ContributionCollection>(MockBehavior.Strict); contributionCollection.Object.Add(new Contribution(samplePerson, new Role("rdr", "Reader", null))); var sourceMediaFile1 = IMDIMediaFileSetup(); sourceMediaFile1.Object.MetaDataFieldValues.Add(new FieldInstance("contributions", contributionCollection.Object)); var model = AddIMDISessionTestSetup(out var imdiSession, sourceMediaFile1.Object); ArchivingHelper.AddIMDISession(_session, model.Object); var val = (from a in imdiSession.Object.MDGroup.Actors.Actor from n in a.Name where n == samplePerson select n).FirstOrDefault(); Assert.AreEqual(samplePerson, val); }
public void AddIMDISession_WorkingLanguage_AddFraToContentLanguagesWithWorkingDescription() { const string sampleLanguageCodeAndName = "fra:French"; var project = new Mock <Project>(MockBehavior.Strict, Path.Combine(Path.GetTempPath(), "foo", "foo." + Project.ProjectSettingsFileExtension), null, null); project.Object.VernacularISO3CodeAndName = "tru:Turoyo"; project.Object.AnalysisISO3CodeAndName = sampleLanguageCodeAndName; var model = AddIMDISessionTestSetup(out var imdiSession); ArchivingHelper.Project = project.Object; ArchivingHelper.AddIMDISession(_session, model.Object); var val = (from c in imdiSession.Object.MDGroup.Content.Languages.Language from n in c.Name from d in c.Description where d.Value.Contains("Working") select n.Value).FirstOrDefault(); Assert.IsTrue(sampleLanguageCodeAndName.Contains(val)); ArchivingHelper.Project = null; }
public void GetOneLanguage_UnknownLanguageCodeOrName_ReturnsNull() { // Putting a language on the project because at one time this was a default value for GetOneLanguage. // But even if the project has a language, and unknown language is unknown. var project = new Mock <Project>(MockBehavior.Strict, Path.Combine(Path.GetTempPath(), "foo", "foo." + Project.ProjectSettingsFileExtension), null, null); // tru:Turoyo is now covered by our ISO language code data. project.Object.VernacularISO3CodeAndName = "tru:Turoyo"; ArchivingHelper.Project = project.Object; var returnValue = ArchivingHelper.GetOneLanguage("tru"); Assert.That(returnValue, Is.Not.Null); returnValue = ArchivingHelper.GetOneLanguage("Turoyo"); Assert.That(returnValue, Is.Not.Null); // So try a fake language that really should be unknown. var project2 = new Mock <Project>(MockBehavior.Strict, Path.Combine(Path.GetTempPath(), "foo", "foo." + Project.ProjectSettingsFileExtension), null, null); project2.Object.VernacularISO3CodeAndName = "qqq:Phoniness"; ArchivingHelper.Project = project2.Object; returnValue = ArchivingHelper.GetOneLanguage("qqq"); Assert.That(returnValue, Is.Null); returnValue = ArchivingHelper.GetOneLanguage("Phoniness"); Assert.That(returnValue, Is.Null); }
public void AnalysisLanguage_DefaultCase_ReturnsEnglishCode() { Assert.AreEqual("eng: English", ArchivingHelper.AnalysisLanguage()); }