//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldBatchNewEntriesAndHandleOtherMessagesFirst() public virtual void ShouldBatchNewEntriesAndHandleOtherMessagesFirst() { // given BatchingMessageHandler batchHandler = new BatchingMessageHandler(_downstreamHandler, _inQueueConfig, _batchConfig, _jobSchedulerFactory, NullLogProvider.Instance); ReplicatedString contentA = new ReplicatedString("A"); ReplicatedString contentC = new ReplicatedString("C"); NewEntry.Request newEntryA = new NewEntry.Request(null, contentA); Heartbeat heartbeatA = new Heartbeat(null, 0, 0, 0); NewEntry.Request newEntryB = new NewEntry.Request(null, contentC); Heartbeat heartbeatB = new Heartbeat(null, 1, 1, 1); batchHandler.Handle(Wrap(newEntryA)); batchHandler.Handle(Wrap(heartbeatA)); batchHandler.Handle(Wrap(newEntryB)); batchHandler.Handle(Wrap(heartbeatB)); verifyZeroInteractions(_downstreamHandler); // when batchHandler.Run(); // heartbeatA batchHandler.Run(); // heartbeatB batchHandler.Run(); // batchRequest // then NewEntry.BatchRequest batchRequest = new NewEntry.BatchRequest(asList(contentA, contentC)); verify(_downstreamHandler).handle(Wrap(heartbeatA)); verify(_downstreamHandler).handle(Wrap(heartbeatB)); verify(_downstreamHandler).handle(Wrap(batchRequest)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldInvokeHandlerOnQueuedMessage() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldInvokeHandlerOnQueuedMessage() { // given BatchingMessageHandler batchHandler = new BatchingMessageHandler(_downstreamHandler, _inQueueConfig, _batchConfig, _jobSchedulerFactory, NullLogProvider.Instance); ReplicatedString content = new ReplicatedString("dummy"); NewEntry.Request message = new NewEntry.Request(null, content); //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: java.util.concurrent.Future<?> future = executor.submit(batchHandler); Future <object> future = _executor.submit(batchHandler); // Some time for letting the batch handler block on its internal queue. // // It is fine if it sometimes doesn't get that far in time, just that we // usually want to test the wake up from blocking state. Thread.Sleep(50); // when batchHandler.Handle(Wrap(message)); // then future.get(); NewEntry.BatchRequest expected = new NewEntry.BatchRequest(singletonList(content)); verify(_downstreamHandler).handle(Wrap(expected)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldInvokeInnerHandlerWhenRun() public virtual void ShouldInvokeInnerHandlerWhenRun() { // given BatchingMessageHandler batchHandler = new BatchingMessageHandler(_downstreamHandler, _inQueueConfig, _batchConfig, _jobSchedulerFactory, NullLogProvider.Instance); NewEntry.Request message = new NewEntry.Request(null, Content("dummy")); batchHandler.Handle(Wrap(message)); verifyZeroInteractions(_downstreamHandler); // when batchHandler.Run(); // then NewEntry.BatchRequest expected = new NewEntry.BatchRequest(singletonList(new ReplicatedString("dummy"))); verify(_downstreamHandler).handle(Wrap(expected)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldBatchUsingReceivedInstantOfFirstReceivedMessage() public virtual void ShouldBatchUsingReceivedInstantOfFirstReceivedMessage() { // given BatchingMessageHandler batchHandler = new BatchingMessageHandler(_downstreamHandler, _inQueueConfig, _batchConfig, _jobSchedulerFactory, NullLogProvider.Instance); ReplicatedString content = new ReplicatedString("A"); NewEntry.Request messageA = new NewEntry.Request(null, content); Instant firstReceived = Instant.ofEpochMilli(1L); Instant secondReceived = firstReceived.plusMillis(1L); batchHandler.Handle(Wrap(firstReceived, messageA)); batchHandler.Handle(Wrap(secondReceived, messageA)); // when batchHandler.Run(); // then NewEntry.BatchRequest batchRequest = new NewEntry.BatchRequest(asList(content, content)); verify(_downstreamHandler).handle(Wrap(firstReceived, batchRequest)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldBatchRequests() public virtual void ShouldBatchRequests() { // given BatchingMessageHandler batchHandler = new BatchingMessageHandler(_downstreamHandler, _inQueueConfig, _batchConfig, _jobSchedulerFactory, NullLogProvider.Instance); ReplicatedString contentA = new ReplicatedString("A"); ReplicatedString contentB = new ReplicatedString("B"); NewEntry.Request messageA = new NewEntry.Request(null, contentA); NewEntry.Request messageB = new NewEntry.Request(null, contentB); batchHandler.Handle(Wrap(messageA)); batchHandler.Handle(Wrap(messageB)); verifyZeroInteractions(_downstreamHandler); // when batchHandler.Run(); // then NewEntry.BatchRequest expected = new NewEntry.BatchRequest(asList(contentA, contentB)); verify(_downstreamHandler).handle(Wrap(expected)); }