/// <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(", ")}]"); } }
public void StrJoin_joins_list() { var list = new List <string> { "a", "b", "c" }; var joinedList = list.StrJoin(","); Assert.AreEqual("a,b,c", joinedList); }
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}]"); }
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); }
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; }
/// <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(" "); }