1. Project Clover database Wed Nov 12 2025 05:07:35 UTC
  2. Package guru.mikelue.foxglove.instancio

File ByteArraySpecTest.java

 

Code metrics

0
15
7
1
99
67
7
0.47
2.14
7
1

Classes

Class Line # Actions
ByteArraySpecTest 15 15 0% 7 0
1.0100%
 

Contributing tests

This file is covered by 2 tests. .

Source view

1    package guru.mikelue.foxglove.instancio;
2   
3    import java.util.concurrent.TimeUnit;
4   
5    import org.junit.jupiter.api.AfterEach;
6    import org.junit.jupiter.api.BeforeEach;
7    import org.junit.jupiter.api.RepeatedTest;
8    import org.junit.jupiter.api.Test;
9   
10    import guru.mikelue.misc.testlib.AbstractTestBase;
11   
12    import static org.assertj.core.api.Assertions.assertThat;
13    import static org.awaitility.Awaitility.await;
14   
 
15    public class ByteArraySpecTest extends AbstractTestBase {
16    private final static int REPEAT_COUNT = 8;
17   
 
18  18 toggle public ByteArraySpecTest() {}
19   
 
20  18 toggle @BeforeEach
21    void setup() {}
22   
 
23  18 toggle @AfterEach
24    void tearDown() {}
25   
26    /**
27    * Tests the fixed length for generated byte array.
28    */
 
29  8 toggle @RepeatedTest(REPEAT_COUNT)
30    void fixedLength()
31    {
32  8 final int arrayLength = gen().ints().range(16, 32).get();
33   
34  8 var testedSpec = new ByteArraySpec()
35    .length(arrayLength);
36   
37  8 byte[] testedResult = testedSpec.get();
38   
39  8 assertThat(testedResult)
40    .isNotNull()
41    .hasSize(arrayLength)
42    .doesNotContain((byte)0x00);
43    }
44   
45    /**
46    * Tests the random length.
47    */
 
48  8 toggle @RepeatedTest(REPEAT_COUNT)
49    void randomLength()
50    {
51  8 final int minLength = 16;
52  8 final int maxLength = 32;
53   
54  8 var testedSpec = new ByteArraySpec()
55    .minLength(minLength).maxLength(maxLength);
56   
57  8 byte[] testedResult = testedSpec.get();
58   
59  8 assertThat(testedResult)
60    .isNotNull()
61    .hasSizeBetween(minLength, maxLength)
62    .doesNotContain((byte)0x00);
63    }
64   
65    /**
66    * Tests the null array.
67    */
 
68  1 toggle @Test
69    void nullable()
70    {
71  1 var testedSpec = new ByteArraySpec()
72    .nullable();
73   
74  1 await()
75    .atMost(5, TimeUnit.SECONDS)
76    .untilAsserted(() -> {
77  5 assertThat(testedSpec.get()).isNull();
78    });
79    }
80   
81    /**
82    * Tests the zero element in generated array.
83    */
 
84  1 toggle @Test
85    void zeroElements()
86    {
87  1 var testedSpec = new ByteArraySpec()
88    .length(512)
89    .zeroElements();
90   
91  1 await()
92    .atMost(5, TimeUnit.SECONDS)
93    .untilAsserted(() -> {
94  1 assertThat(testedSpec.get())
95    .isNotNull()
96    .contains((byte)0x00);
97    });
98    }
99    }