1 package civitas.functionaltests; 2 3 import static org.junit.jupiter.api.Assertions.assertTrue; 4 import static org.junit.jupiter.api.Assertions.fail; 5 6 import java.util.Arrays; 7 8 import org.junit.jupiter.api.DisplayName; 9 import org.junit.jupiter.api.Tag; 10 import org.junit.jupiter.api.Test; 11 import org.junit.jupiter.api.extension.ExtendWith; 12 import org.springframework.beans.factory.annotation.Autowired; 13 import org.springframework.test.context.ContextConfiguration; 14 import org.springframework.test.context.junit.jupiter.SpringExtension; 15 16 import civitas.AppTestConfig; 17 import civitas.common.RandomAwareTestBase; 18 import civitas.crypto.algorithms.CreatePermutation; 19 import civitas.crypto.rsaprivatekey.PrivateKeyTestData; 20 import civitas.util.BasicValuesTestData; 21 22 @Tag("functional") 23 @ExtendWith(SpringExtension.class) 24 @ContextConfiguration(classes = AppTestConfig.class) 25 class CreatePermutationFunctionalTest extends RandomAwareTestBase implements PrivateKeyTestData, BasicValuesTestData { 26 27 @Autowired 28 CreatePermutation createPermutation; 29 30 @Test 31 @DisplayName("createPermutation creates a permutation of given size") 32 void createPermutation() { 33 34 int[] permutation = createPermutation.apply(SOME_SMALL_INT); 35 boolean[] hasIt = new boolean[SOME_SMALL_INT]; 36 Arrays.fill(hasIt, false); 37 for (int i = 0; i < SOME_SMALL_INT; i++) { 38 hasIt[permutation[i]] = true; 39 } 40 for (int i = 0; i < SOME_SMALL_INT; i++) { 41 if (!hasIt[i]) { 42 fail(); 43 } 44 } 45 assertTrue(true); 46 } 47 }