I am trying to create a JUnit test for this class.
What is the best way to go about testing the different if-else statements.
The I tried some generic unit test cases.
public class ObjectClaimHistory {
private List<ObjectCollaborationClaimHistory> objectClaimHistory = new ArrayList<>();
public void checkClaim(ClaimRequest claimRequest, Set<Integer> outOfDateCommits, int collaborationId, Integer parentCollaborationId, ClaimConflicts conflicts) {
Set<Integer> conflictingCollaborationClaims = new HashSet<>();
Set<Integer> conflictingCollaborationBlocks = new HashSet<>();
for (ObjectCollaborationClaimHistory collaborationClaimHistory: objectClaimHistory) {
if (!collaborationClaimHistory.checkClaim(claimRequest, outOfDateCommits)) {
conflictingCollaborationClaims.add(collaborationClaimHistory.getCollaborationId());
}
if (!collaborationClaimHistory.checkBlock(claimRequest, outOfDateCommits)) {
conflictingCollaborationBlocks.add(collaborationClaimHistory.getCollaborationId());
}
}
// After checking all histories create one commit conflict. Choose the closest collaboration.
if (conflictingCollaborationClaims.contains(collaborationId)) {
conflicts.addCommitConflict(claimRequest.getObjectId(), claimRequest.getClaim(), collaborationId);
}
else if (conflictingCollaborationBlocks.contains(collaborationId)) {
conflicts.addCommitConflict(claimRequest.getObjectId(), claimRequest.getBlock(), collaborationId);
}
Aucun commentaire:
Enregistrer un commentaire