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