//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)); }
private ReplicatedString String(int numberOfCharacters) { StringBuilder builder = new StringBuilder(); for (int i = 0; i < numberOfCharacters; i++) { builder.Append(i.ToString()); } return(ReplicatedString.valueOf(builder.ToString())); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldLogDifferentContentTypes() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldLogDifferentContentTypes() { RaftLog log = CreateRaftLog(); RaftLogEntry logEntryA = new RaftLogEntry(1, valueOf(1)); RaftLogEntry logEntryB = new RaftLogEntry(1, ReplicatedString.valueOf("hejzxcjkzhxcjkxz")); log.Append(logEntryA, logEntryB); assertThat(log.AppendIndex(), @is(1L)); assertThat(readLogEntry(log, 0), equalTo(logEntryA)); assertThat(readLogEntry(log, 1), equalTo(logEntryB)); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: protected org.neo4j.causalclustering.core.replication.ReplicatedContent unmarshal0(org.neo4j.storageengine.api.ReadableChannel channel) throws java.io.IOException protected internal override ReplicatedContent Unmarshal0(ReadableChannel channel) { sbyte type = channel.Get(); switch (type) { case REPLICATED_INTEGER_TYPE: return(ReplicatedInteger.valueOf(channel.Int)); case REPLICATED_STRING_TYPE: int length = channel.Int; sbyte[] bytes = new sbyte[length]; channel.Get(bytes, length); return(ReplicatedString.valueOf(StringHelper.NewString(bytes))); default: throw new System.ArgumentException("Unknown content type: " + type); } }
private void Read(RaftLog raftLog) { try { using (RaftLogCursor cursor = raftLog.GetEntryCursor(0)) { while (cursor.Next()) { RaftLogEntry entry = cursor.get(); ReplicatedString content = ( ReplicatedString )entry.Content(); assertEquals(StringForIndex(cursor.Index()), content.Value()); } } } catch (IOException e) { throw new Exception(e); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldLogDifferentContentTypes() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldLogDifferentContentTypes() { RaftLog log = _logFactory.createBasedOn(FsRule.get()); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final RaftLogEntry logEntryA = new RaftLogEntry(1, org.neo4j.causalclustering.core.consensus.ReplicatedInteger.valueOf(1)); RaftLogEntry logEntryA = new RaftLogEntry(1, ReplicatedInteger.valueOf(1)); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final RaftLogEntry logEntryB = new RaftLogEntry(1, org.neo4j.causalclustering.core.consensus.ReplicatedString.valueOf("hejzxcjkzhxcjkxz")); RaftLogEntry logEntryB = new RaftLogEntry(1, ReplicatedString.valueOf("hejzxcjkzhxcjkxz")); log.Append(logEntryA); log.Append(logEntryB); VerifyCurrentLogAndNewLogLoadedFromFileSystem(log, FsRule.get(), myLog => { assertThat(myLog.appendIndex(), @is(1L)); assertThat(readLogEntry(myLog, 0), equalTo(logEntryA)); assertThat(readLogEntry(myLog, 1), equalTo(logEntryB)); }); }
//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)); }