public void GivenPronunciationFromArpabet_ExpectPositiveMatch()

in src/cs/PhoneticMatchingTests/EnPronunciationTests.cs [30:67]


        public void GivenPronunciationFromArpabet_ExpectPositiveMatch()
        {
            var pron = EnPronunciation.FromArpabet(new string[] { "P", "R", "OW0", "N", "AH2", "N", "S", "IY0", "EY1", "SH", "AX0", "N" });
            Assert.IsTrue(pron.Phones.Count > 0);
            Assert.AreEqual("proʊ̯nʌnsieɪ̯ʃən", pron.Ipa);

            // p
            var phone = pron.Phones[0];
            Assert.AreEqual(PhoneType.Consonant, phone.Type);
            Assert.AreEqual(Phonation.Voiceless, phone.Phonation);
            Assert.AreEqual(PlaceOfArticulation.Bilabial, phone.Place);
            Assert.AreEqual(MannerOfArticulation.Plosive, phone.Manner);
            Assert.IsFalse(phone.IsSyllabic);
            Assert.IsNull(phone.Height);
            Assert.IsNull(phone.Backness);
            Assert.IsNull(phone.Roundedness);
            Assert.IsNull(phone.IsRhotic);

            // o
            phone = pron.Phones[2];
            Assert.AreEqual(PhoneType.Vowel, phone.Type);
            Assert.AreEqual(Phonation.Modal, phone.Phonation);
            Assert.AreEqual(VowelHeight.CloseMid, phone.Height);
            Assert.AreEqual(VowelBackness.Back, phone.Backness);
            Assert.AreEqual(VowelRoundedness.Rounded, phone.Roundedness);
            Assert.IsTrue(phone.IsSyllabic);

            // ʊ̯
            phone = pron.Phones[3];
            Assert.AreEqual(PhoneType.Vowel, phone.Type);
            Assert.AreEqual(Phonation.Modal, phone.Phonation);
            Assert.AreEqual(VowelHeight.NearClose, phone.Height);
            Assert.AreEqual(VowelBackness.NearBack, phone.Backness);
            Assert.AreEqual(VowelRoundedness.Rounded, phone.Roundedness);
            Assert.IsFalse(phone.IsSyllabic);
            Assert.IsNull(phone.Place);
            Assert.IsNull(phone.Manner);
        }