public override async Task ProcessAsync() { // HTTP URI. var url = "http://www.kingcean.net:8080/test/path?a=123&b=hello#nothing/all"; var uri = HttpUri.Parse(url); ConsoleLine.WriteLine(((Uri)uri).ToString()); ConsoleLine.WriteLine(); // Query data. var query = "{ str: \"abcdefg\", b: true, \"name\": \"hijklmn\", // abcd: efg\n \"value\": \"012345\", \"num\": 67, null: undefined, \"props\": { \"x\": \"o\\tp\\tq\", \"y\": [ 8, 9, { \"z\": \"rst\" } ] } }"; var q = QueryData.Parse(query); ConsoleLine.WriteLine(q.ToString()); ConsoleLine.WriteLine(); // JSON HTTP web client. url = "https://github.com/compositejs/datasense/raw/master/package.json"; var webClient = new JsonHttpClient <NameAndDescription>(); var resp = await webClient.SendAsync(new HttpRequestMessage(HttpMethod.Get, url)); ConsoleLine.WriteLine(resp.Name); resp = await webClient.SendAsync(new HttpRequestMessage(HttpMethod.Get, url)); ConsoleLine.WriteLine(resp.Name); //"{ \"access_token\": \"abc\", \"token_type\": \"Bearer\" }" }
/// <summary> /// Renders a single <see cref="ConsoleLine"/> to a buffer. /// </summary> /// <param name="builder">Buffer</param> /// <param name="line">Line</param> /// <param name="timestamp">Reference timestamp for time offset</param> public static void RenderLine(StringBuilder builder, ConsoleLine line, DateTime timestamp) { var offset = TimeSpan.FromSeconds(line.TimeOffset); var isProgressBar = line.ProgressValue.HasValue; builder.Append("<div class=\"line").Append(isProgressBar ? " pb" : "").Append("\""); if (line.TextColor != null) { builder.Append(" style=\"color:").Append(line.TextColor).Append("\""); } if (isProgressBar) { builder.Append(" data-id=\"").Append(line.Message).Append("\""); } builder.Append(">"); builder.Append(Helper.MomentTitle(timestamp + offset, Helper.ToHumanDuration(offset))); if (isProgressBar) { builder.AppendFormat("<div class=\"pv\" style=\"width:{0}%\" data-value=\"{0}\"></div>", line.ProgressValue.Value); } else { builder.Append(Helper.HtmlEncode(line.Message)); } builder.Append("</div>"); }
private void UpdateLogText(bool updateIndex = true) { if (updateIndex) { _startingIndex = Mathf.Clamp(_loggedLines.Count - TextsDisplayed, 0, _loggedLines.Count); } string text = ""; List <ConsoleLine> texts = _isDebug ? _loggedLines : NonDebugTexts; for (int i = _startingIndex; i < _startingIndex + TextsDisplayed; i++) { if (texts.ElementAtOrDefault(i) == null) { break; } ConsoleLine lineToAdd = texts[i]; if (lineToAdd.IsDebug) { text += "<b><color=red>" + lineToAdd + "</color></b>\n"; } else { text += lineToAdd + "\n"; } } LogText.text = text; }
private ConsoleLine NewLine() { var line = new ConsoleLine(this._IdSequence++); this._Lines.Add(line); return(line); }
internal ProgressBarDto(ConsoleLine line, DateTime referenceTimestamp) : base(line, referenceTimestamp) { Id = int.Parse(line.Message, CultureInfo.InvariantCulture); Name = line.ProgressName; // ReSharper disable once PossibleInvalidOperationException Progress = line.ProgressValue.Value; }
public ArchitectureConsoleViewModel() { AddModuleCommand = new DelegateCommand(obj => { PrepareCommand(string.Format("AddModule {0}", "value?")); }); RemoveModuleCommand = new DelegateCommand(obj => { PrepareCommand(string.Format("RemoveModule {0}", "value?")); }); ViewModuleCommand = new DelegateCommand(obj => { PrepareCommand(string.Format("ViewModule {0}", "value?")); }); ExecuteCommand = new DelegateCommand(obj => { ConsoleLine = ConsoleLines.Last(); ConsoleLine.Status = CommandStatus.None; _subscription.SubscribeFirstPublication(Messages.COMMAND_PROCESSED, OnProcessed); MessageBus.Instance.Publish(Messages.COMMAND_LINE_SUBMITTED, ConsoleLine.Content); }); ModuleDefinitionCommand = new DelegateCommand(obj => { MessageBus.Instance.Publish(Global.Messages.REQUEST_MODULES_VIEW, SelectedLayer); }); _subscription.SubscribeFirstPublication(Global.Messages.REQUEST_ARCHITECTURE_DEPENDENCIES_COMPLETED, obj => { var dependencies = obj as ArchitectureDependencies; _services = dependencies.Services; }); _subscription.Subscribe(Global.Messages.REQUEST_ARCHITECTURE_VIEWMODEL, obj => MessageBus.Instance.Publish(Global.Messages.REQUEST_ARCHITECTURE_VIEWMODEL_COMPLETED, this)); ConsoleLine = new ConsoleLine(); ConsoleLines.Add(ConsoleLine); }
public void Output_line(ConsoleLine line) { System.Console.Write(line.Date_string); System.Console.Write(","); System.Console.Write(line.Amount_string); System.Console.Write(","); System.Console.WriteLine(line.Description_string); }
public void PrepareCommand(string commandText) { var consoleLine = new ConsoleLine() { Content = commandText }; ConsoleLines[ConsoleLines.Count - 1] = consoleLine; }
public void AddLine(ConsoleId consoleId, ConsoleLine line) { if (consoleId == null) { throw new ArgumentNullException(nameof(consoleId)); } if (line == null) { throw new ArgumentNullException(nameof(line)); } if (line.IsReference) { throw new ArgumentException("Cannot add reference directly", nameof(line)); } using (var tran = _connection.CreateWriteTransaction()) { // check if encoded message fits into Set's Value field string value; if (line.Message.Length > ValueFieldLimit - 36) { // pretty sure it won't fit // (36 is an upper bound for JSON formatting, TimeOffset and TextColor) value = null; } else { // try to encode and see if it fits value = JobHelper.ToJson(line); if (value.Length > ValueFieldLimit) { value = null; } } if (value == null) { var referenceKey = Guid.NewGuid().ToString("N"); tran.SetRangeInHash(consoleId.ToString(), new[] { new KeyValuePair <string, string>(referenceKey, line.Message) }); line.Message = referenceKey; line.IsReference = true; value = JobHelper.ToJson(line); } tran.AddToSet(consoleId.ToString(), value); tran.Commit(); } }
private async Task WriteIsPrimeAsync(int value) { ConsoleLine.Write( "{0} is {1}a prime number. Prev {2}, next {3}.", value, Maths.Arithmetic.IsPrime(value) ? string.Empty : "NOT ", await Maths.Arithmetic.PreviousPrimeAsync(value), await Maths.Arithmetic.NextPrimeAsync(value) ); ConsoleLine.End(); }
public void RenderLine_WithNegativeOffset() { var line = new ConsoleLine() { TimeOffset = -1.206, Message = "test" }; var builder = new StringBuilder(); ConsoleRenderer.RenderLine(builder, line, new DateTime(2016, 1, 1, 0, 0, 0, DateTimeKind.Utc)); Assert.Equal("<div class=\"line\"><span data-moment-title=\"1451606398\">-1.206s</span>test</div>", builder.ToString()); }
public void RenderLine_WithColor() { var line = new ConsoleLine() { TimeOffset = 0, Message = "test", TextColor = "#ffffff" }; var builder = new StringBuilder(); ConsoleRenderer.RenderLine(builder, line, new DateTime(2016, 1, 1, 0, 0, 0, DateTimeKind.Utc)); Assert.Equal("<div class=\"line\" style=\"color:#ffffff\"><span data-moment-title=\"1451606400\">+ <1ms</span>test</div>", builder.ToString()); }
public void RenderLine_WithProgressAndColor() { var line = new ConsoleLine() { TimeOffset = 0, Message = "3", ProgressValue = 17, TextColor = "#ffffff" }; var builder = new StringBuilder(); ConsoleRenderer.RenderLine(builder, line, new DateTime(2016, 1, 1, 0, 0, 0, DateTimeKind.Utc)); Assert.Equal("<div class=\"line pb\" style=\"color:#ffffff\" data-id=\"3\"><span data-moment-title=\"1451606400\">+ <1ms</span><div class=\"pv\" style=\"width:17%\" data-value=\"17\"></div></div>", builder.ToString()); }
public void AddLine_ShortLineIsAddedToSet() { var storage = new ConsoleStorage(_connection.Object); var line = new ConsoleLine() { Message = "test" }; storage.AddLine(_consoleId, line); Assert.False(line.IsReference); _transaction.Verify(x => x.AddToSet($"console:{_consoleId}", It.IsAny <string>())); _transaction.Verify(x => x.SetRangeInHash($"console:refs:{_consoleId}", It.IsAny <IEnumerable <KeyValuePair <string, string> > >()), Times.Never); }
public void AddLine_CorrectsTimeOffset() { var consoleId = new ConsoleId("1", new DateTime(2016, 1, 1, 0, 0, 0, DateTimeKind.Utc)); var context = new ConsoleContext(consoleId, _storage.Object); var line1 = new ConsoleLine() { TimeOffset = 0, Message = "line" }; var line2 = new ConsoleLine() { TimeOffset = 0, Message = "line" }; context.AddLine(line1); context.AddLine(line2); _storage.Verify(x => x.AddLine(It.IsAny<ConsoleId>(), It.IsAny<ConsoleLine>()), Times.Exactly(2)); Assert.NotEqual(line1.TimeOffset, line2.TimeOffset, 4); }
/// <summary> /// Disposes this instance. /// </summary> /// <param name="disposing">true if also dispose the managed resources; otherwise, false.</param> protected virtual void Dispose(bool disposing) { if (!disposing) { return; } if (HasDisposed) { return; } ConsoleLine.End(); Arguments = null; cancel.Dispose(); HasDisposed = true; }
public void AddLine_ShortLineIsAddedToSet() { var storage = new ConsoleStorage(_connection.Object); var line = new ConsoleLine() { Message = "test" }; storage.AddLine(_consoleId, line); Assert.False(line.IsReference); _connection.Verify(x => x.CreateWriteTransaction(), Times.Once); _transaction.Verify(x => x.AddToSet(_consoleId.GetSetKey(), It.IsAny <string>(), It.IsAny <double>())); _transaction.Verify(x => x.SetRangeInHash(_consoleId.GetHashKey(), It.IsAny <IEnumerable <KVP> >()), Times.Never); _transaction.Verify(x => x.Commit(), Times.Once); }
public void Will_set_date_as_second_console_snippet() { // Arrange var potential_match = new PotentialMatch { Rankings = new Rankings() }; var console_line = new ConsoleLine { Date_string = "10/10/2018" }; // Act var console_snippets = console_line.Get_console_snippets(potential_match); // Assert Assert.AreEqual(console_line.Date_string + ",", console_snippets[1].Text); }
public void Read(BinaryReaderBE Reader) { var lines = Reader.ReadUInt32(); Lines = new ConsoleLine[lines]; for (var i = 0; i < lines; i++) { var consoleLine = new ConsoleLine(); var length = Reader.ReadUInt32(); var unknown = Reader.ReadByte(); var length2 = Reader.ReadUInt32(); var line = Reader.ReadBytes((int)length); consoleLine.Level = Reader.ReadUInt32(); consoleLine.Line = Encoding.UTF8.GetString(line); Lines[i] = consoleLine; } }
public void Will_set_description_as_fourth_console_snippet() { // Arrange var potential_match = new PotentialMatch { Rankings = new Rankings() }; var console_line = new ConsoleLine { Description_string = "Some description" }; // Act var console_snippets = console_line.Get_console_snippets(potential_match); // Assert Assert.AreEqual(console_line.Description_string, console_snippets[3].Text); }
private void OnProcessed(object obj) { var commandContext = obj as CommandContext; if (commandContext.Status == CommandStatus.Succeeded) { var currentConsoleLine = ConsoleLine; currentConsoleLine.Status = commandContext.Status; ConsoleLine = new ConsoleLine(); ConsoleLines.Add(ConsoleLine); } else { ConsoleLines.Last().Status = CommandStatus.Failed; } }
public void Will_set_amount_as_third_console_snippet() { // Arrange var potential_match = new PotentialMatch { Rankings = new Rankings() }; var console_line = new ConsoleLine { Amount_string = "�.55" }; // Act var console_snippets = console_line.Get_console_snippets(potential_match); // Assert Assert.AreEqual(console_line.Amount_string + ",", console_snippets[2].Text); }
public void AddLine_ProgressBarIsAddedToSet_AndProgressIsUpdated() { var storage = new ConsoleStorage(_connection.Object); var line = new ConsoleLine() { Message = "1", ProgressValue = 10 }; storage.AddLine(_consoleId, line); Assert.False(line.IsReference); _connection.Verify(x => x.CreateWriteTransaction(), Times.Once); _transaction.Verify(x => x.AddToSet(_consoleId.GetSetKey(), It.IsAny <string>(), It.IsAny <double>())); _transaction.Verify(x => x.SetRangeInHash(_consoleId.GetHashKey(), It2.AnyIs <KVP>(p => p.Key == "progress"))); _transaction.Verify(x => x.Commit(), Times.Once); }
public void WillSetDateTextColourAsWhite_IfRankingsAreNull() { // Arrange var potential_match = new PotentialMatch { Rankings = null }; var console_line = new ConsoleLine { Date_string = "10/10/2018" }; // Act var console_snippets = console_line.Get_console_snippets(potential_match); // Assert Assert.AreEqual(ConsoleColour.White, console_snippets[1].Text_colour); }
public void Will_set_index_as_first_console_snippet() { // Arrange var index = 23; var potential_match = new PotentialMatch { Rankings = new Rankings() }; var console_line = new ConsoleLine { Index = index }; // Act var console_snippets = console_line.Get_console_snippets(potential_match); // Assert Assert.AreEqual($"{index}. ", console_snippets[0].Text); }
public void AddLine_LongLineIsAddedToHash_AndReferenceIsAddedToSet() { var storage = new ConsoleStorage(_connection.Object); var line = new ConsoleLine() { Message = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor " + "incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud " + "exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure " + "dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. " + "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." }; storage.AddLine(_consoleId, line); Assert.True(line.IsReference); _transaction.Verify(x => x.AddToSet($"console:{_consoleId}", It.IsAny <string>())); _transaction.Verify(x => x.SetRangeInHash($"console:refs:{_consoleId}", It.IsAny <IEnumerable <KeyValuePair <string, string> > >())); }
public void Will_set_index_text_colour_as_white() { // Arrange var index = 23; var potential_match = new PotentialMatch { Rankings = new Rankings() }; var console_line = new ConsoleLine { Index = index }; // Act var console_snippets = console_line.Get_console_snippets(potential_match); // Assert Assert.AreEqual(ConsoleColour.White, console_snippets[0].Text_colour); }
public void Will_set_date_colour_to_green_if_rankings_are_null() { // Arrange var index = 23; var potential_match = new PotentialMatch { Rankings = new Rankings() }; var console_line = new ConsoleLine { Index = index }; // Act var console_snippets = console_line.Get_console_snippets(potential_match); // Assert Assert.AreEqual($"{index}. ", console_snippets[0].Text); }
public void WillSetAmountTextColourAsWhite_IfRankingsAreNull() { // Arrange var potential_match = new PotentialMatch { Rankings = null, Amount_match = false // AmountMatch should be ignored - AmountRanking is used instead }; var console_line = new ConsoleLine { Amount_string = "�.55" }; // Act var console_snippets = console_line.Get_console_snippets(potential_match); // Assert Assert.AreEqual(ConsoleColour.White, console_snippets[2].Text_colour); }
public void AddLine(ConsoleLine line) { if (line == null) { throw new ArgumentNullException(nameof(line)); } line.TimeOffset = Math.Round((DateTime.UtcNow - _consoleId.DateValue).TotalSeconds, 3); if (_lastTimeOffset >= line.TimeOffset) { // prevent duplicate lines collapsing line.TimeOffset = _lastTimeOffset + 0.0001; } _lastTimeOffset = line.TimeOffset; _storage.AddLine(_consoleId, line); }
private CommandStatus Execute(ConsoleLine line) { if (line?.Content == null) { return CommandStatus.Failed; } var tokens = line.Content.Split(' '); if (!(tokens.Count() > 1)) { return CommandStatus.Failed; } var isValidInstruction = ValidateInstruction(tokens[0]); if (!isValidInstruction) { return CommandStatus.Failed; } var isValidParameter = ValidateParameter(tokens[1]); if (!isValidParameter) { return CommandStatus.Failed; } var layerName = line.Content.Remove(line.Content.IndexOf(tokens[0]), tokens[0].Length).Trim(); SelectedLayer = new Layer() { Id = layerName, Modules = new ObservableCollection<Module>() }; Layers.Add(SelectedLayer); _services.AddLayer(SelectedLayer); return CommandStatus.Succeeded; }
private void AppendToBuffer(ConsoleLine line) { lock (m_buffer) { if (m_isNewLine) { PushToBuffer (ConsoleLine.Empty); m_isNewLine = false; } var merged = m_buffer [BUF_SIZE - 1].Line + line.Line; var lines = SplitLine(merged); m_buffer [BUF_SIZE - 1] = new ConsoleLine(line.Color, lines [0]); m_isNewLine = lines.Length > 1; for (int i = 1; i < lines.Length; i++) { PushToBuffer (new ConsoleLine(line.Color, lines [i])); } DrawBuffer (); } }
private void PushToBuffer(ConsoleLine line) { for (int idx = 0; idx < BUF_SIZE - 1; idx++) { m_buffer [idx] = m_buffer [idx + 1]; } m_buffer [BUF_SIZE - 1] = line; }