use of com.radixdlt.hotstuff.Vote in project radixdlt by radixdlt.
the class SafetyRulesTest method when_vote_on_proposal_after_genesis__then_returned_vote_has_no_commit.
@Test
public void when_vote_on_proposal_after_genesis__then_returned_vote_has_no_commit() {
when(safetyState.getLastVotedView()).thenReturn(View.of(0));
when(safetyState.getLockedView()).thenReturn(View.of(0));
when(safetyState.toBuilder()).thenReturn(mock(Builder.class));
VerifiedVertex vertex = mock(VerifiedVertex.class);
when(vertex.hasDirectParent()).thenReturn(true);
when(vertex.touchesGenesis()).thenReturn(true);
when(vertex.parentHasDirectParent()).thenReturn(true);
when(vertex.getView()).thenReturn(View.of(1));
BFTHeader parent = mock(BFTHeader.class);
when(parent.getView()).thenReturn(View.of(0));
when(vertex.getParentHeader()).thenReturn(parent);
BFTHeader grandParent = mock(BFTHeader.class);
when(grandParent.getView()).thenReturn(mock(View.class));
when(vertex.getGrandParentHeader()).thenReturn(grandParent);
BFTHeader header = mock(BFTHeader.class);
Optional<Vote> voteMaybe = safetyRules.voteFor(vertex, header, 1L, mock(HighQC.class));
assertThat(voteMaybe).isNotEmpty();
Vote vote = voteMaybe.get();
assertThat(vote.getVoteData().getProposed()).isEqualTo(header);
assertThat(vote.getVoteData().getParent()).isEqualTo(parent);
assertThat(vote.getVoteData().getCommitted()).isEmpty();
}
Aggregations