View Javadoc
1   package civitas.crypto.votecapabilityshare.tests;
2   
3   import static org.junit.jupiter.api.Assertions.assertArrayEquals;
4   import static org.junit.jupiter.api.Assertions.assertEquals;
5   
6   import org.junit.jupiter.api.DisplayName;
7   import org.junit.jupiter.api.Test;
8   import org.mockito.InjectMocks;
9   
10  import civitas.crypto.votecapability.VoteCapability;
11  import civitas.crypto.votecapabilityshare.CombineVoteCapabilityShares;
12  import civitas.crypto.votecapabilityshare.VoteCapabilityShare;
13  import civitas.util.CivitasBigIntegerFactory;
14  import io.github.magwas.konveyor.testing.TestBase;
15  
16  class CombineVoteCapabilitySharesTest extends TestBase implements VoteCapabilityShareTestData {
17  
18  	@InjectMocks
19  	CombineVoteCapabilityShares combineVoteCapabilityShares;
20  
21  	@Test
22  	@DisplayName("multiplies each row of a matrix of vote capability shares")
23  	void test() {
24  		VoteCapability[] actual = combineVoteCapabilityShares.apply(CAPABILITY_SHARE_MATRIX, EL_GAMAL_PARAMETERS);
25  		assertEquals(CivitasBigIntegerFactory.obtain(2 * 5), actual[0].m());
26  		assertEquals(CivitasBigIntegerFactory.obtain(3 * 7), actual[1].m());
27  	}
28  
29  	@Test
30  	@DisplayName("returns empty array if the matrix is null")
31  	void test1() {
32  		assertArrayEquals(EMPTY_ARRAY, combineVoteCapabilityShares.apply(null, EL_GAMAL_PARAMETERS));
33  	}
34  
35  	@Test
36  	@DisplayName("returns empty array if the matrix contains null")
37  	void test2() {
38  		assertArrayEquals(
39  				EMPTY_ARRAY,
40  				combineVoteCapabilityShares.apply(new VoteCapabilityShare[][] {null}, EL_GAMAL_PARAMETERS));
41  	}
42  }