Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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;
        }
Пример #5
0
        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();
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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();
        }
Пример #9
0
        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);
        }
Пример #10
0
        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);
        }
Пример #11
0
        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);
        }
Пример #12
0
        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);
        }
Пример #13
0
        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);
        }
Пример #14
0
        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);
        }
Пример #15
0
        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);
        }
Пример #16
0
        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);
        }
Пример #17
0
        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);
        }
Пример #18
0
        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;
        }
Пример #19
0
        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);
        }
Пример #20
0
 public void AnalysisLanguage_DefaultCase_ReturnsEnglishCode()
 {
     Assert.AreEqual("eng: English", ArchivingHelper.AnalysisLanguage());
 }