/// <summary>
        /// Initializes a new instance of the <see cref="DisplayNameFormatter"/> class.
        /// </summary>
        /// <param name="display">The <see cref="TestMethodDisplay"/> used by the formatter.</param>
        /// <param name="displayOptions">The <see cref="TestMethodDisplayOptions"/> used by the formatter.</param>
        public DisplayNameFormatter(TestMethodDisplay display, TestMethodDisplayOptions displayOptions)
        {
            rule = new CharacterRule();

            if ((displayOptions & UseEscapeSequences) == UseEscapeSequences)
            {
                rule = new ReplaceEscapeSequenceRule() { Next = rule };
            }

            if ((displayOptions & ReplaceUnderscoreWithSpace) == ReplaceUnderscoreWithSpace)
            {
                rule = new ReplaceUnderscoreRule() { Next = rule };
            }

            if ((displayOptions & UseOperatorMonikers) == UseOperatorMonikers)
            {
                rule = new ReplaceOperatorMonikerRule() { Next = rule };
            }

            if (display == ClassAndMethod)
            {
                if ((displayOptions & ReplacePeriodWithComma) == ReplacePeriodWithComma)
                {
                    rule = new ReplacePeriodRule() { Next = rule };
                }
                else
                {
                    rule = new KeepPeriodRule() { Next = rule };
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DisplayNameFormatter"/> class.
        /// </summary>
        /// <param name="display">The <see cref="TestMethodDisplay"/> used by the formatter.</param>
        /// <param name="displayOptions">The <see cref="TestMethodDisplayOptions"/> used by the formatter.</param>
        public DisplayNameFormatter(
            TestMethodDisplay display,
            TestMethodDisplayOptions displayOptions)
        {
            rule = new CharacterRule();

            if ((displayOptions & TestMethodDisplayOptions.UseEscapeSequences) == TestMethodDisplayOptions.UseEscapeSequences)
            {
                rule = new ReplaceEscapeSequenceRule()
                {
                    Next = rule
                }
            }
            ;

            if ((displayOptions & TestMethodDisplayOptions.ReplaceUnderscoreWithSpace) == TestMethodDisplayOptions.ReplaceUnderscoreWithSpace)
            {
                rule = new ReplaceUnderscoreRule()
                {
                    Next = rule
                }
            }
            ;

            if ((displayOptions & TestMethodDisplayOptions.UseOperatorMonikers) == TestMethodDisplayOptions.UseOperatorMonikers)
            {
                rule = new ReplaceOperatorMonikerRule()
                {
                    Next = rule
                }
            }
            ;

            if (display == TestMethodDisplay.ClassAndMethod)
            {
                if ((displayOptions & TestMethodDisplayOptions.ReplacePeriodWithComma) == TestMethodDisplayOptions.ReplacePeriodWithComma)
                {
                    rule = new ReplacePeriodRule()
                    {
                        Next = rule
                    }
                }
                ;
                else
                {
                    rule = new KeepPeriodRule()
                    {
                        Next = rule
                    }
                };
            }
        }
예제 #3
0
        public void InitInput(string content)
        {
            var  splitContent = content.Split(new string[] { "\r\n" }, StringSplitOptions.None);
            bool doProposals  = false;

            foreach (var currentLine in splitContent)
            {
                if (string.IsNullOrEmpty(currentLine))
                {
                    doProposals = true;
                }
                else if (doProposals)
                {
                    _proposals.Add(currentLine);
                }
                else
                {
                    var s       = currentLine.Split(new string[] { ": " }, StringSplitOptions.RemoveEmptyEntries);
                    var ruleNum = int.Parse(s[0]);

                    if (s[1].Contains('\"'))
                    {
                        _rules[ruleNum] = new CharacterRule(s[1].Trim('\"'), ruleNum);
                        continue;
                    }

                    if (s[1].Contains(('|')))
                    {
                        var split = s[1].Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
                        _rules[ruleNum] = new OrRule(CreateThenRule(split[0], -1), CreateThenRule(split[1], -1), ruleNum);
                    }
                    else
                    {
                        _rules[ruleNum] = CreateThenRule(s[1], ruleNum);
                    }
                }
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="DisplayNameFormatter"/> class.
 /// </summary>
 public DisplayNameFormatter()
 {
     rule = new CharacterRule();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DisplayNameFormatter"/> class.
 /// </summary>
 public DisplayNameFormatter()
 {
     rule = new CharacterRule();
 }
예제 #6
0
 public CharacterMgr()
 {
     this.CharacterRule = new CharacterRule();
     this.AllCharacters = new List <CharacterData> ();
 }