Exemplo n.º 1
0
        /// <summary>
        /// ToString. Available formats: TRD - Thread, F - File, M - method, L - Line
        /// </summary>
        public string ToString(params string[] format)
        {
            string shortFile = File;

            try { shortFile = Path.GetFileName(File); }
            catch { }
            if (format == null || format.Length == 0)
            {
                return($"[TRD:{Thread}, F:{shortFile}, M:{Method}, L:{Line}]");
            }
            else
            {
                List <string> format2 = new List <string>(format);
                List <string> result  = new List <string>();
                if (format2.FindIndex(x => x.EQUAL("TRD")) != -1)
                {
                    result.Add($"TRD:{Thread}");
                }
                if (format2.FindIndex(x => x.EQUAL("F")) != -1)
                {
                    result.Add($"F:{shortFile}");
                }
                if (format2.FindIndex(x => x.EQUAL("M")) != -1)
                {
                    result.Add($"M:{Method}");
                }
                if (format2.FindIndex(x => x.EQUAL("L")) != -1)
                {
                    result.Add($"L:{Line}");
                }
                return($"[{result.StrJoin(", ")}]");
            }
        }
Exemplo n.º 2
0
        public void StrJoin_joins_list()
        {
            var list = new List <string> {
                "a", "b", "c"
            };

            var joinedList = list.StrJoin(",");

            Assert.AreEqual("a,b,c", joinedList);
        }
Exemplo n.º 3
0
        private string Car2Json(Car car, string output, List <Line> lines)
        {
            var carJson = string.Join(
                ",",
                car.Pos, car.V, car.Radius,
                car.FlagsTaken,
                car.IsAlive ? 1 : 0,
                car.NextCommand,
                $"\"{EscapeJsonString(output)}\"",
                $"[{lines.StrJoin(",", Line2Json)}]");

            return($"[{carJson}]");
        }
Exemplo n.º 4
0
        public void TerminalWithCustomMatcher_SucceedsAndFails_Correctly(string text, string expectedResult)
        {
            var index  = new TokenStream(new CharacterLexer(text)).Start();
            var rule   = new Terminal("TEST", new TokenPredicateMatcher("UPPER", t => Char.IsUpper((t.Value ?? "_"), 0)));
            var result = new List <string>();

            while (!index.Get().IsEndOfStream)
            {
                var opsMock = index.OperationsMock().Evaluate(rule);

                if (opsMock.Result.IsSuccess)
                {
                    result.Add(opsMock.Tokens.Single().Value !);
                }

                index = index.Next();
            }

            result.StrJoin(String.Empty).Should().Be(expectedResult);
        }
Exemplo n.º 5
0
 public string LoadPage(string url, List<string> postData = null, string contentType = "application/x-www-form-urlencoded")
 {
     for (var i = 0; i < _tries; i++) {
         try {
             string post = null;
             if (postData != null) {
                 post = postData.StrJoin("&");
             }
             var loadResult = RequestHelper.GetContent(url, post, contentType);
             if (loadResult.Item1 != HttpStatusCode.OK) {
                 _logger.Error("status = " + loadResult.Item1);
             }
             return loadResult.Item2;
         } catch (Exception ex) {
             _logger.Error("url: {0} \r\n" + ex, url);
         }
         Thread.Sleep(5 * 1000);
     }
     return null;
 }
Exemplo n.º 6
0
        /// <summary>
        ///     Транслитерирует входную строку, используя минимальный вариант решения в случае коллизии.
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string GetRussianMin(string str)
        {
            var result = new List<string>();

            result.AddRange(str
                .Split(' ')
                .Select(GetRussianSimpleWord)
                .Select(s => {
                    var res = s.FirstOrDefault();
                    if (string.IsNullOrEmpty(res)) {
                        return string.Empty;
                    }
                    foreach (var outRes in s) {
                        if (res.Length > outRes.Length) {
                            res = outRes;
                        }
                    }
                    return res;
                }));
            return result.StrJoin(" ");
        }