public void Gather2Tokens_Test()
 {
     var Tokens = new TokenGatherer().GetTokens("{0}{1}");
     Assert.AreEqual(2, Tokens.Count);
     TestToken(Tokens[0], "{0}", 0, 2, 0, "");
     TestToken(Tokens[1], "{1}", 3, 5, 1, "");
 }
Ejemplo n.º 2
0
        private void SortFormatTokens_Execute(Object sender, ApplyContentEventArgs ea)
        {
            MethodCallExpression TheStringFormat = _PrimitiveString.Parent as MethodCallExpression;
            string TheString = _PrimitiveString.Name;
            List<Expression> TheArguments = TheStringFormat.Arguments.ToList<Expression>().Skip(1).ToList<Expression>();
            SourceRange TheStringFormatRange = TheStringFormat.Range;

            //Get List of Tokens
            var Tokens = new TokenGatherer().GetTokens(TheString);

            // Determine "Sort" map.
            List<MapItem> Map = MapGenerator.GenerateMap(from item in Tokens select item.Index);

            // Affect string using map
            TheString = new StringTokenRenumberer().Renumber(TheString, Tokens, Map);

            // Affect params using map?
            TheArguments = new ListReorderer().Reorder(TheArguments, Tokens, Map);

            // Write TheString and TheList back to the code.
            TheStringFormat.Arguments.Clear();
            TheStringFormat.Arguments.Add(new PrimitiveExpression(TheString));
            TheStringFormat.Arguments.AddRange(TheArguments);
            string TheNewCode = CodeRush.CodeMod.GenerateCode(TheStringFormat, true);
            ea.TextDocument.SetText(TheStringFormatRange, TheNewCode);
        }
 public void Gather1Token_Test()
 {
     var Tokens = new TokenGatherer().GetTokens("{0}");
     Assert.AreEqual(1, Tokens.Count);
     var Token = Tokens[0];
     TestToken(Token, "{0}", 0, 2, 0, "");
 }
        public void RenumberShuffledListWithDuplicates_Test()
        {
            string Start = "{3}, {0}, {2}, {0}, {1}, {0}";
            string Expected = "{0}, {1}, {2}, {1}, {3}, {1}";

            var Tokens = new TokenGatherer().GetTokens(Start);
            var Map = MapGenerator.GenerateMap(from item in Tokens select item.Index);
            var Result = new StringTokenRenumberer().Renumber(Start, Tokens, Map);

            Assert.AreEqual(Expected, Result);
        }
 public void GatherDuplicateTokens_Test()
 {
     var Tokens = new TokenGatherer().GetTokens("{0}{1}{2}{0}{1}{2}");
     Assert.AreEqual(6, Tokens.Count);
     TestToken(Tokens[0], "{0}", 0, 2, 0, "");
     TestToken(Tokens[1], "{1}", 3, 5, 1, "");
     TestToken(Tokens[2], "{2}", 6, 8, 2, "");
     TestToken(Tokens[3], "{0}", 9, 11, 0, "");
     TestToken(Tokens[4], "{1}", 12, 14, 1, "");
     TestToken(Tokens[5], "{2}", 15, 17, 2, "");
 }
        private void FixStringAndList(ref string startString, ref List<int> startList)
        {
            // gather Tokens
            var Tokens = new TokenGatherer().GetTokens(startString);

            // Generate map
            List<MapItem> Map = MapGenerator.GenerateMap(from item in Tokens select item.Index);

            // Use map to rebuild string.
            startString = new StringTokenRenumberer().Renumber(startString, Tokens, Map);
            // use Map to rebuild list
            startList = new ListReorderer().Reorder(startList, Tokens, Map);
        }
        public void ReorderParams2ParamsWithDuplicate_Test()
        {
            var StartString = "{1}, {0}, {1}";
            var StartList = new List<int>() { 0, 1 };
            var ExpectedList = new List<int>() { 1, 0 };

            var Tokens = new TokenGatherer().GetTokens(StartString);
            var Map = MapGenerator.GenerateMap(from item in Tokens select item.Index);

            var ResultList = new ListReorderer().Reorder(StartList, Tokens, Map);

            Assert.IsTrue(AreEqual(ExpectedList, ResultList));
        }
 public void Gather1Token_Test()
 {
     var Tokens = new TokenGatherer().GetTokens("{0:00.###}");
     Assert.AreEqual(1, Tokens.Count);
     TestToken(Tokens[0], "{0:00.###}", 0, 9, 0, "00.###");
 }