1 package civitas.common.mix.capabilitymix.tests;
2
3 import static org.mockito.Mockito.mock;
4
5 import java.util.function.Supplier;
6
7 import civitas.common.ballot.tests.BallotTestData;
8 import civitas.common.mix.capabilitymix.CapabilityMix;
9 import civitas.common.mix.capabilitymixrevelation.tests.MixCapabilityElementRevelationTestData;
10 import civitas.crypto.ciphertext.ElGamalCiphertext;
11 import civitas.crypto.ciphertext.ElGamalCiphertextish;
12 import civitas.crypto.ciphertextlist.tests.ElGamalCiphertextListTestData;
13
14 public interface CapabilityMixTestData
15 extends BallotTestData, ElGamalCiphertextListTestData, MixCapabilityElementRevelationTestData {
16
17 CapabilityMix CAPABILITY_MIX_MOCK = mock(CapabilityMix.class);
18
19 Supplier<CapabilityMix> CAPABILITY_MIX_EMPTY_SUPPLIER =
20 () -> new CapabilityMix(VOTER_BLOCK, new byte[0], new byte[][] {}, new ElGamalCiphertext[0]);
21
22 Supplier<CapabilityMix> CAPABILITY_MIX_COMMITMENT_ADDED_SUPPLIER = () ->
23 new CapabilityMix(VOTER_BLOCK, new byte[0], new byte[][] {SOMESTRING.getBytes()}, new ElGamalCiphertext[0]);
24
25 CapabilityMix CAPABILITY_MIX_CAPABILITY_ADDED =
26 new CapabilityMix(VOTER_BLOCK, new byte[0], new byte[][] {}, new ElGamalCiphertextish[] {
27 ENCRYPTED_SIGNED_VOTE_CAPABILITIES.getFirst()
28 });
29
30 CapabilityMix CAPABILITY_MIX_CAPABILITIES_ADDED =
31 new CapabilityMix(VOTER_BLOCK, new byte[0], new byte[][] {}, new ElGamalCiphertextish[] {
32 ENCRYPTED_SIGNED_VOTE_CAPABILITIES.getFirst(), ENCRYPTED_SIGNED_VOTE_CAPABILITIES.get(1)
33 });
34
35 CapabilityMix CAPABILITY_MIX_REMIXED =
36 new CapabilityMix(VOTER_BLOCK, new byte[0], new byte[][] {}, new ElGamalCiphertextish[] {
37 REENCRYPTED_VOTE_CAPABILITIES.get(1), REENCRYPTED_VOTE_CAPABILITIES.getFirst()
38 });
39
40 CapabilityMix CAPABILITY_MIX_INITIAL = new CapabilityMix(
41 4, new byte[0], new byte[][] {}, new ElGamalCiphertextish[] {ENCRYPTED_SIGNED_VOTE_CAPABILITIES.get(1)});
42 CapabilityMix CAPABILITY_MIX_LEFT = new CapabilityMix(
43 2, new byte[0], new byte[][] {null, CAPABILITY_ELEMENT_RELEVATION_LEFT_HASH}, new ElGamalCiphertextish[] {
44 ENCRYPTED_SIGNED_VOTE_CAPABILITIES.getFirst(), REENCRYPTED_VOTE_CAPABILITIES.get(1)
45 });
46
47 CapabilityMix CAPABILITY_MIX_RIGHT = new CapabilityMix(
48 3,
49 new byte[0],
50 new byte[][] {new byte[0], CAPABILITY_ELEMENT_RELEVATION_RIGHT_HASH},
51 new ElGamalCiphertextish[] {null, REENCRYPTED_VOTE_CAPABILITIES.getFirst()});
52 }