//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldSendAtomicBroadcastOnJoiningAClusterWithAnEstablishedCoordinator() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldSendAtomicBroadcastOnJoiningAClusterWithAnEstablishedCoordinator() { // Given string winnerURI = "some://winner"; InstanceId winner = new InstanceId(2); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final java.util.List<org.neo4j.cluster.com.message.Message<?>> messages = new java.util.ArrayList<>(1); //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: IList <Message <object> > messages = new List <Message <object> >(1); MessageHolder holder = messages.add; ElectionCredentials voteCredentialComparable = mock(typeof(ElectionCredentials)); ElectionContext electionContext = mock(typeof(ElectionContext)); when(electionContext.Voted(eq(COORDINATOR), eq(new InstanceId(1)), eq(voteCredentialComparable), anyLong())).thenReturn(true); when(electionContext.GetVoteCount(COORDINATOR)).thenReturn(3); when(electionContext.NeededVoteCount).thenReturn(3); when(electionContext.GetElectionWinner(COORDINATOR)).thenReturn(winner); when(electionContext.GetLog(any(typeof(Type)))).thenReturn(NullLog.Instance); VersionedConfigurationStateChange stateChange = mock(typeof(VersionedConfigurationStateChange)); when(electionContext.NewConfigurationStateChange()).thenReturn(stateChange); when(electionContext.GetUriForId(winner)).thenReturn(URI.create(winnerURI)); // When Message <ElectionMessage> votedMessage = Message.to(ElectionMessage.Voted, URI.create("some://instance"), new ElectionMessage.VotedData(COORDINATOR, new InstanceId(1), voteCredentialComparable)); votedMessage.SetHeader(Message.HEADER_FROM, "some://other"); election.handle(electionContext, votedMessage, holder); // Then assertEquals(1, messages.Count); //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: org.neo4j.cluster.com.message.Message<?> message = messages.get(0); Message <object> message = messages[0]; assertEquals(AtomicBroadcastMessage.broadcast, message.MessageType); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void twoVotesFromSameInstanceForSameRoleShouldBeConsolidated() public virtual void TwoVotesFromSameInstanceForSameRoleShouldBeConsolidated() { // Given const string coordinatorRole = "coordinator"; HeartbeatContext heartbeatContext = mock(typeof(HeartbeatContext)); when(heartbeatContext.Failed).thenReturn(Collections.emptySet()); IDictionary <InstanceId, URI> members = new Dictionary <InstanceId, URI>(); members[new InstanceId(1)] = URI.create("server1"); members[new InstanceId(2)] = URI.create("server2"); members[new InstanceId(3)] = URI.create("server3"); Config config = mock(typeof(Config)); when(config.Get(ClusterSettings.max_acceptors)).thenReturn(10); ClusterConfiguration clusterConfiguration = mock(typeof(ClusterConfiguration)); when(clusterConfiguration.Members).thenReturn(members); ClusterContext clusterContext = mock(typeof(ClusterContext)); when(clusterContext.Configuration).thenReturn(clusterConfiguration); MultiPaxosContext context = new MultiPaxosContext(new InstanceId(1), Iterables.iterable(new ElectionRole(coordinatorRole)), clusterConfiguration, mock(typeof(Executor)), NullLogProvider.Instance, mock(typeof(ObjectInputStreamFactory)), mock(typeof(ObjectOutputStreamFactory)), mock(typeof(AcceptorInstanceStore)), mock(typeof(Timeouts)), mock(typeof(ElectionCredentialsProvider)), config); ElectionContext toTest = context.ElectionContext; // When toTest.StartElectionProcess(coordinatorRole); toTest.Voted(coordinatorRole, new InstanceId(1), new IntegerElectionCredentials(100), Org.Neo4j.cluster.protocol.cluster.ClusterContext_Fields.NO_ELECTOR_VERSION); toTest.Voted(coordinatorRole, new InstanceId(2), new IntegerElectionCredentials(100), Org.Neo4j.cluster.protocol.cluster.ClusterContext_Fields.NO_ELECTOR_VERSION); toTest.Voted(coordinatorRole, new InstanceId(2), new IntegerElectionCredentials(101), Org.Neo4j.cluster.protocol.cluster.ClusterContext_Fields.NO_ELECTOR_VERSION); // Then assertNull(toTest.GetElectionWinner(coordinatorRole)); assertEquals(2, toTest.GetVoteCount(coordinatorRole)); }