1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.rng.core;
18
19 import org.junit.Test;
20 import org.junit.Assert;
21
22
23
24
25
26
27
28
29
30 public class BaseProviderTest {
31 @Test(expected=IllegalStateException.class)
32 public void testWrongStateSize() {
33 new DummyGenerator().restoreState(new RandomProviderDefaultState(new byte[1]));
34 }
35
36 @Test
37 public void testFillStateInt() {
38 final int[] state = new int[10];
39 final int[] seed = {1, 2, 3};
40
41 for (int i = 0; i < state.length; i++) {
42 Assert.assertEquals(0, state[i]);
43 }
44
45 new DummyGenerator().fillState(state, seed);
46 for (int i = 0; i < seed.length; i++) {
47 Assert.assertEquals(seed[i], state[i]);
48 }
49 for (int i = seed.length; i < state.length; i++) {
50 Assert.assertNotEquals(0, state[i]);
51 }
52 }
53
54 @Test
55 public void testFillStateLong() {
56 final long[] state = new long[10];
57 final long[] seed = {1, 2, 3};
58
59 for (int i = 0; i < state.length; i++) {
60 Assert.assertEquals(0, state[i]);
61 }
62
63 new DummyGenerator().fillState(state, seed);
64 for (int i = 0; i < seed.length; i++) {
65 Assert.assertEquals(seed[i], state[i]);
66 }
67 for (int i = seed.length; i < state.length; i++) {
68 Assert.assertNotEquals(0, state[i]);
69 }
70 }
71
72
73
74
75
76
77
78
79 class DummyGenerator extends org.apache.commons.rng.core.source32.IntProvider {
80
81 @Override
82 public int next() {
83 return 4;
84 }
85
86
87
88
89 @Override
90 public void fillState(int[] state, int[] seed) {
91 super.fillState(state, seed);
92 }
93
94
95 @Override
96 public void fillState(long[] state, long[] seed) {
97 super.fillState(state, seed);
98 }
99 }
100 }