示例#1
0
        public void TestCompute()
        {
            var syllabifier = new Syllabifier();

            var phonemes = "stʁil.bjuʁ.goz.dʁɥi.fwastχ";
            var input    = string.Join("", phonemes.Split('.')).ToCharArray().Select(c => Phonemes.BySymbol(c.ToString())).ToArray();

            var expected = new[]
            {
                new Syllable(
                    onset: new [] { Phonemes.s, Phonemes.t, Phonemes.R, },
                    nucleus: Phonemes.i,
                    coda: new [] { Phonemes.l, }),
                new Syllable(
                    onset: new [] { Phonemes.b, Phonemes.j, },
                    nucleus: Phonemes.u,
                    coda: new [] { Phonemes.R, }),
                new Syllable(
                    onset: new [] { Phonemes.g, },
                    nucleus: Phonemes.o,
                    coda: new [] { Phonemes.z, }),
                new Syllable(
                    onset: new [] { Phonemes.d, Phonemes.R, Phonemes.Y, },
                    nucleus: Phonemes.i,
                    coda: new Phoneme[0]),
                new Syllable(
                    onset: new [] { Phonemes.f, Phonemes.w, },
                    nucleus: Phonemes.a,
                    coda: new [] { Phonemes.s, Phonemes.t, Phonemes.X, }),
            };

            var result = syllabifier.Compute(input).ToArray();

            Assert.Equal(expected.Length, result.Length);
        }