### Question:
RaftMachine implements LeaderLocator, CoreMetaData { public Role currentRole() { return currentRole; } RaftMachine( MemberId myself, StateStorage<TermState> termStorage, StateStorage<VoteState> voteStorage, RaftLog entryLog,
            LeaderAvailabilityTimers leaderAvailabilityTimers, Outbound<MemberId,RaftMessages.RaftMessage> outbound, LogProvider logProvider,
            RaftMembershipManager membershipManager, RaftLogShippingManager logShipping, InFlightCache inFlightCache, boolean refuseToBecomeLeader,
            boolean supportPreVoting, Monitors monitors ); synchronized void postRecoveryActions(); synchronized void stopTimers(); void triggerElection( Clock clock ); void panic(); synchronized RaftCoreState coreState(); synchronized void installCoreState( RaftCoreState coreState ); synchronized void setTargetMembershipSet( Set<MemberId> targetMembers ); @Override MemberId getLeader(); @Override synchronized void registerListener( LeaderListener listener ); @Override synchronized void unregisterListener( LeaderListener listener ); synchronized ExposedRaftState state(); synchronized ConsensusOutcome handle( RaftMessages.RaftMessage incomingMessage ); @Override boolean isLeader(); Role currentRole(); MemberId identity(); RaftLogShippingManager logShippingManager(); @Override String toString(); long term(); Set<MemberId> votingMembers(); Set<MemberId> replicationMembers();  }### Answer:
@Test public void shouldAlwaysStartAsFollower() { RaftMachine raft = new RaftMachineBuilder( myself, 3, RaftTestMemberSetBuilder.INSTANCE ) .build(); assertEquals( FOLLOWER, raft.currentRole() ); }