1 package civitas.common.ballotdesign.tests;
2
3 import static org.junit.jupiter.api.Assertions.assertEquals;
4
5 import org.junit.jupiter.api.DisplayName;
6 import org.junit.jupiter.api.Test;
7 import org.mockito.InjectMocks;
8
9 import civitas.common.ballotdesign.GetIndexOfCandidate;
10 import civitas.common.tests.RandomAwareTestBase;
11 import civitas.util.tests.BasicValuesTestData;
12
13 class GetIndexOfCandidateTest extends RandomAwareTestBase implements BallotDesignTestData, BasicValuesTestData {
14
15 @InjectMocks
16 GetIndexOfCandidate getIndexOfCandidate;
17
18 @Test
19 @DisplayName("gets index of candidate")
20 void test() {
21 assertEquals(1, getIndexOfCandidate.apply(BALLOTDESIGN, CANDIDATE));
22 }
23
24 @Test
25 @DisplayName("finds the candidate even when case does not match")
26 void test1() {
27 assertEquals(1, getIndexOfCandidate.apply(BALLOTDESIGN, CANDIDATE.toLowerCase()));
28 }
29
30 @Test
31 @DisplayName("if there is no such candidate -1 is returned")
32 void test2() {
33 assertEquals(-1, getIndexOfCandidate.apply(BALLOTDESIGN, SOMESTRING));
34 }
35 }