Esempio n. 1
0
        public void HamonicsRenderingText_Issue79()
        {
            var tex   = @":8 3.3{nh} 3.3{ah} 3.3{th} 3.3{ph} 3.3{sh}";
            var score = ParseTex(tex);

            Environment.StaveProfiles["harmonics"] = new BarRendererFactory[]
            {
                new EffectBarRendererFactory("n-harmonics", new IEffectBarRendererInfo[] { new HarmonicsEffectInfo(HarmonicType.Natural) }),
                new EffectBarRendererFactory("a-harmonics", new IEffectBarRendererInfo[] { new HarmonicsEffectInfo(HarmonicType.Artificial) }),
                new EffectBarRendererFactory("t-harmonics", new IEffectBarRendererInfo[] { new HarmonicsEffectInfo(HarmonicType.Tap) }),
                new EffectBarRendererFactory("p-harmonics", new IEffectBarRendererInfo[] { new HarmonicsEffectInfo(HarmonicType.Pinch) }),
                new EffectBarRendererFactory("s-harmonics", new IEffectBarRendererInfo[] { new HarmonicsEffectInfo(HarmonicType.Semi) }),
                new EffectBarRendererFactory("f-harmonics", new IEffectBarRendererInfo[] { new HarmonicsEffectInfo(HarmonicType.Feedback) }),
            };


            var settings = Settings.Defaults;

            settings.Engine = "svg";
            settings.Staves = new StaveSettings("harmonics");

            var renderer = new ScoreRenderer(settings);
            var svg      = "";

            renderer.PartialRenderFinished += r =>
            {
                svg += r.RenderResult.ToString();
            };
            renderer.Render(score, new[] { 0 });

            var regexTemplate = @"<text[^>]+>\s*{0}\s*</text>";

            Assert.IsTrue(TestPlatform.IsMatch(svg, string.Format(regexTemplate, HarmonicsEffectInfo.HarmonicToString(HarmonicType.Natural))));
            Assert.IsTrue(TestPlatform.IsMatch(svg, string.Format(regexTemplate, HarmonicsEffectInfo.HarmonicToString(HarmonicType.Artificial))));
            Assert.IsTrue(TestPlatform.IsMatch(svg, string.Format(regexTemplate, HarmonicsEffectInfo.HarmonicToString(HarmonicType.Tap))));
            Assert.IsTrue(TestPlatform.IsMatch(svg, string.Format(regexTemplate, HarmonicsEffectInfo.HarmonicToString(HarmonicType.Pinch))));
            Assert.IsTrue(TestPlatform.IsMatch(svg, string.Format(regexTemplate, HarmonicsEffectInfo.HarmonicToString(HarmonicType.Semi))));
        }