View Javadoc
1   package civitas.common.election.tests;
2   
3   import static org.junit.jupiter.api.Assertions.assertFalse;
4   import static org.junit.jupiter.api.Assertions.assertThrows;
5   import static org.junit.jupiter.api.Assertions.assertTrue;
6   
7   import org.junit.jupiter.api.DisplayName;
8   import org.junit.jupiter.api.Test;
9   import org.mockito.InjectMocks;
10  
11  import civitas.common.capabilityencryption.VoterEncCapabilities;
12  import civitas.common.election.IsVoterSubmissionInBlock;
13  import civitas.common.mix.hashrevelation.tests.MixHashRevelationTestData;
14  import civitas.common.tests.RandomAwareTestBase;
15  import civitas.common.votersubmission.VoterSubmission;
16  import civitas.common.votersubmission.tests.VoterSubmissionTestData;
17  
18  class IsVoterSubmissionInBlockTest extends RandomAwareTestBase
19  		implements ElectionDetailsTestData,
20  				VoterSubmissionTestData,
21  				VoterEncCapabilitiesTestData,
22  				MixHashRevelationTestData {
23  
24  	@InjectMocks
25  	IsVoterSubmissionInBlock isVoterSubmissionInBlock;
26  
27  	@Test
28  	@DisplayName("checks if the block in the voter submission corresponds to the block number given\n"
29  			+ "(version without context)")
30  	void test() {
31  		assertTrue(isVoterSubmissionInBlock.apply(ELECTION_DETAILS, VOTER_SUBMISSION, 11));
32  	}
33  
34  	@Test
35  	@DisplayName("returns false if not\n" + "(version without context)")
36  	void test1() {
37  		assertFalse(isVoterSubmissionInBlock.apply(ELECTION_DETAILS, VOTER_SUBMISSION, 14));
38  	}
39  
40  	@Test
41  	@DisplayName("if voter is null, throws an IllegalArgumentException\n" + "(version without context)")
42  	void test2() {
43  		assertThrows(IllegalArgumentException.class, () -> isVoterSubmissionInBlock.apply(ELECTION_DETAILS, null, 11));
44  	}
45  
46  	@Test
47  	@DisplayName("checks if the block in the voter submission corresponds to the block number and context given\n"
48  			+ "(version with context)")
49  	void test_1() {
50  		assertTrue(isVoterSubmissionInBlock.apply(ELECTION_DETAILS, VOTER_SUBMISSION, FULL_CONTEXT_11, 11));
51  	}
52  
53  	@Test
54  	@DisplayName("returns false if context is different\n" + "(version with context)")
55  	void test3_1() {
56  		assertFalse(isVoterSubmissionInBlock.apply(ELECTION_DETAILS, VOTER_SUBMISSION, FULL_CONTEXT_14, 11));
57  	}
58  
59  	@Test
60  	@DisplayName("returns false if block number is different\n" + "(version with context)")
61  	void test1_1() {
62  		assertFalse(isVoterSubmissionInBlock.apply(ELECTION_DETAILS, VOTER_SUBMISSION, FULL_CONTEXT_14, 14));
63  	}
64  
65  	@Test
66  	@DisplayName("if voter is null, throws an IllegalArgumentException\n" + "(version with context)")
67  	void test2_1() {
68  		assertThrows(
69  				IllegalArgumentException.class,
70  				() -> isVoterSubmissionInBlock.apply(ELECTION_DETAILS, (VoterSubmission) null, FULL_CONTEXT_11, 11));
71  	}
72  
73  	@Test
74  	@DisplayName("checks if the block in the encrypted capabilities corresponds to the block number and context given\n"
75  			+ "(version with encrypted capabilities)")
76  	void test_2() {
77  		assertTrue(isVoterSubmissionInBlock.apply(ELECTION_DETAILS, VOTER_ENC_CAPABILITIES, BARE_CONTEXT_2, 11));
78  	}
79  
80  	@Test
81  	@DisplayName("returns false if context is different\n" + "(version with encrypted capabilities)")
82  	void test3_2() {
83  		assertFalse(isVoterSubmissionInBlock.apply(ELECTION_DETAILS, VOTER_ENC_CAPABILITIES, BARE_CONTEXT_1, 11));
84  	}
85  
86  	@Test
87  	@DisplayName("returns false if block number is different\n" + "(version with encrypted capabilities)")
88  	void test1_2() {
89  		assertFalse(isVoterSubmissionInBlock.apply(ELECTION_DETAILS, VOTER_ENC_CAPABILITIES, BARE_CONTEXT_2, 14));
90  	}
91  
92  	@Test
93  	@DisplayName("if voter is null, throws an IllegalArgumentException\n" + "(version with encrypted capabilities)")
94  	void test2_2() {
95  		assertThrows(
96  				IllegalArgumentException.class,
97  				() -> isVoterSubmissionInBlock.apply(
98  						ELECTION_DETAILS, (VoterEncCapabilities) null, BARE_CONTEXT_2, 11));
99  	}
100 }