public async Task Setup() { src1 = CreateTestSource(messagesCount: 10, linesPerMessage: 3, messagesPrefix: "a"); src2 = CreateTestSource(messagesCount: 10, linesPerMessage: 2, messagesPrefix: "b"); screenBuffer = new ScreenBuffer(changeNotification, 4.4); await screenBuffer.SetSources(new[] { src1, src2 }, cancel); }
public async Task Setup() { src = CreateTestSource(messagesCount: 20); screenBuffer = new ScreenBuffer(changeNotification, 4.6); await screenBuffer.SetSources(new[] { src }, cancel); await screenBuffer.MoveToStreamsEnd(cancel); }
public async Task Setup() { src = CreateTestSource(messagesCount: 10, linesPerMessage: 2, rawLinesPerMessage: 3); screenBuffer = new ScreenBuffer(changeNotification, 3.3); await screenBuffer.SetSources(new[] { src }, cancel); await screenBuffer.MoveToStreamsBegin(cancel); }
public async Task Setup() { src1 = CreateTestSource(messagesCount: 20, messagesPrefix: "a:"); src2 = CreateTestSource(messagesCount: 18, timestampShiftMillis: 7, messagesPrefix: "b:"); screenBuffer = new ScreenBuffer(changeNotification, 6.3); await screenBuffer.SetSources(new[] { src1, src2 }, cancel); }
public async Task ShouldLoadNothingIsViewSizeIsZero() { src = CreateTestSource(messagesCount: 20); screenBuffer = new ScreenBuffer(changeNotification, 0); await screenBuffer.SetSources(new[] { src }, cancel); await screenBuffer.MoveToBookmark( bmks.CreateBookmark(src.messages.Items[5], 0), BookmarkLookupMode.ExactMatch, cancel); Assert.AreEqual(0, screenBuffer.Messages.Count); await screenBuffer.MoveToStreamsEnd(cancel); Assert.AreEqual(0, screenBuffer.Messages.Count); }
public async Task CanLoadExactMessageWhenViewIsLargerThanLogg_WithScrollingToTopMiddleOfScreen() { src = CreateTestSource(messagesCount: 2, linesPerMessage: 3); screenBuffer = new ScreenBuffer(changeNotification, 8.2); await screenBuffer.SetSources(new[] { src }, cancel); Assert.IsTrue(await screenBuffer.MoveToBookmark(bmks.CreateBookmark(src.messages.Items[1], 2), BookmarkLookupMode.ExactMatch | BookmarkLookupMode.MoveBookmarkToMiddleOfScreen, cancel)); VerifyMessages(screenBuffer, @"0-ln_0 0-ln_1 0-ln_2 1-ln_0 1-ln_1 1-ln_2", 0); }
public async Task Setup() { src = CreateTestSource(messagesCount: 5, linesPerMessage: 10); screenBuffer = new ScreenBuffer(changeNotification, 6.8); await screenBuffer.SetSources(new[] { src }, cancel); await screenBuffer.MoveToStreamsEnd(cancel); VerifyMessages(screenBuffer, @"4-ln_3 4-ln_4 4-ln_5 4-ln_6 4-ln_7 4-ln_8 4-ln_9", 0.2); }
public async Task Setup() { src = CreateTestSource(messagesCount: 20); screenBuffer = new ScreenBuffer(changeNotification, 6.8); await screenBuffer.SetSources(new[] { src }, cancel); await screenBuffer.MoveToStreamsEnd(cancel); VerifyMessages(screenBuffer, @"13-ln_0 14-ln_0 15-ln_0 16-ln_0 17-ln_0 18-ln_0 19-ln_0", 0.2); }
static DummyModel.DummySource CreateTestSource(int messageSize = 123, int linesPerMessage = 1, int messagesCount = 10) { var src = new DummyModel.DummySource(); for (var i = 0; i < messagesCount; ++i) { var txt = new StringBuilder(); for (var ln = 0; ln < linesPerMessage; ++ln) { txt.AppendFormat("{2}{0}-ln_{1}", i, ln, ln > 0 ? Environment.NewLine : ""); } src.messages.Add(new Content(i * messageSize, (i + 1) * messageSize, null, new MessageTimestamp(new DateTime(2016, 1, 1).AddMilliseconds(i)), new StringSlice(txt.ToString()), SeverityFlag.Info)); } return(src); }
static DummyModel.DummySource CreateTestSource( int messageSize = 123, int linesPerMessage = 1, int messagesCount = 10, int timestampShiftMillis = 0, string messagesPrefix = "", int rawLinesPerMessage = 1, int messagesPerTimestamp = 1 ) { var messagesThread = Substitute.For<IThread>(); var linesSource = new DummyModel.DummySource() { logSourceHint = messagesThread.LogSource }; var connectionId = string.IsNullOrEmpty(messagesPrefix) ? messagesThread.GetHashCode().ToString("x") : messagesPrefix; messagesThread.LogSource.ConnectionId.Returns(connectionId); messagesThread.LogSource.Provider.ConnectionId.Returns(connectionId); for (var i = 0; i < messagesCount; ++i) { Func<int, string, string> generateText = (int linesCount, string lnStaticText) => { var sb = new StringBuilder(); for (var ln = 0; ln < linesCount; ++ln) sb.AppendFormat("{2}{3}{0}-{4}_{1}", i, ln, ln > 0 ? Environment.NewLine : "", messagesPrefix, lnStaticText); return sb.ToString(); }; var txt = generateText(linesPerMessage, "ln"); var rawTxt = generateText(rawLinesPerMessage, "rln"); linesSource.messages.Add(new Message( i * messageSize, (i + 1) * messageSize, messagesThread, new MessageTimestamp(new DateTime(2016, 1, 1).AddMilliseconds(timestampShiftMillis + i/messagesPerTimestamp)), new StringSlice(txt), SeverityFlag.Info, new StringSlice(rawTxt) )); } return linesSource; }
public async Task CanLoadBookmarkWhenManyMessagesShareTheTimestamp() { src1 = CreateTestSource(messagesCount: 20, linesPerMessage: 1, messagesPrefix: "a", messagesPerTimestamp: 10); src2 = CreateTestSource(messagesCount: 20, linesPerMessage: 1, messagesPrefix: "b", messagesPerTimestamp: 10); screenBuffer = new ScreenBuffer(changeNotification, 3); await screenBuffer.SetSources(new[] { src1, src2 }, cancel); await screenBuffer.MoveToBookmark( bmks.CreateBookmark(src1.messages.Items[5], 0), BookmarkLookupMode.ExactMatch, cancel); VerifyMessages(screenBuffer, @"a5-ln_0 a6-ln_0 a7-ln_0", 0); await screenBuffer.MoveToBookmark( bmks.CreateBookmark(src2.messages.Items[0], 0), BookmarkLookupMode.ExactMatch | BookmarkLookupMode.MoveBookmarkToMiddleOfScreen, cancel); VerifyMessages(screenBuffer, @"a9-ln_0 b0-ln_0 b1-ln_0", 0); }
public async Task Setup() { src = CreateTestSource(messagesCount: 10, linesPerMessage: 3); screenBuffer = new ScreenBuffer(changeNotification, 4.4); await screenBuffer.SetSources(new[] { src }, cancel); }