View Javadoc
1   package civitas.crypto.algorithms;
2   
3   import static org.junit.jupiter.api.Assertions.assertEquals;
4   import static org.mockito.Mockito.verify;
5   import static org.mockito.Mockito.verifyNoInteractions;
6   
7   import org.junit.jupiter.api.DisplayName;
8   import org.junit.jupiter.api.Test;
9   import org.mockito.InjectMocks;
10  
11  import civitas.util.BasicValuesTestData;
12  import io.github.magwas.testing.TestBase;
13  
14  class GenerateRandomIntTest extends TestBase implements BasicValuesTestData {
15  	@InjectMocks
16  	GenerateRandomInt generateRandomInt;
17  
18  	@Test
19  	@DisplayName("uses the right random number generator")
20  	void test4() {
21  		int actual = generateRandomInt.apply(SOME_SMALL_INT);
22  		verify(generateRandomInt.cryptoBase.getRandomGenerator()).nextInt(SOME_SMALL_INT);
23  		assertEquals(SOME_SMALL_INT - 1, actual, "actual:" + actual);
24  	}
25  
26  	@Test
27  	@DisplayName("if n < 0, returns 0")
28  	void test2() {
29  		int actual = generateRandomInt.apply(-1);
30  		verifyNoInteractions(generateRandomInt.cryptoBase.getRandomGenerator());
31  		assertEquals(0, actual);
32  	}
33  
34  	@Test
35  	@DisplayName("if n == 0, returns 0")
36  	void test3() {
37  		int actual = generateRandomInt.apply(0);
38  		verifyNoInteractions(generateRandomInt.cryptoBase.getRandomGenerator());
39  		assertEquals(0, actual);
40  	}
41  }