Beispiel #1
0
        private Dictionary <RomajiTagInvalid, RomajiTag[]> checkInvalidRomajiTags(Lyric lyric)
        {
            var result = new Dictionary <RomajiTagInvalid, RomajiTag[]>();

            // Checking out of range tags.
            var outOfRangeTags = TextTagsUtils.FindOutOfRange(lyric.RomajiTags, lyric.Text);

            if (outOfRangeTags?.Length > 0)
            {
                result.Add(RomajiTagInvalid.OutOfRange, outOfRangeTags);
            }

            // Checking overlapping.
            var sorting         = config.RomajiPositionSorting;
            var overlappingTags = TextTagsUtils.FindOverlapping(lyric.RomajiTags, sorting);

            if (overlappingTags?.Length > 0)
            {
                result.Add(RomajiTagInvalid.Overlapping, overlappingTags);
            }

            return(result);
        }
        public void TestFindOutOfRange(string[] textTags, string lyric, string[] actualTextTags)
        {
            var invalidTextTag = TextTagsUtils.FindOutOfRange(TestCaseTagHelper.ParseRubyTags(textTags), lyric);

            TextTagAssert.ArePropertyEqual(invalidTextTag, TestCaseTagHelper.ParseRubyTags(actualTextTags));
        }