1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.util;
20
21 import org.junit.Test;
22 import org.testng.Assert;
23
24 import java.util.HashSet;
25 import java.util.Set;
26
27 public class XorShiftRandomTest
28 {
29
30 @Test
31 public void testXorShiftRandom()
32 {
33 XorShiftRandom random = new XorShiftRandom(System.nanoTime());
34 Set<Long> randomVals = new HashSet<Long>(10);
35
36 int randomCount = 100;
37
38 for (int i = 0; i < randomCount; i ++)
39 {
40 randomVals.add(random.random());
41 }
42
43
44 Assert.assertEquals(randomVals.size(), 100);
45 }
46
47
48 @Test
49 public void testThreadsafeXorShiftRandom()
50 {
51 XorShiftRandom random = new ThreadsafeXorShiftRandom();
52 Set<Long> randomVals = new HashSet<Long>(10);
53
54 int randomCount = 100;
55
56 for (int i = 0; i < randomCount; i ++)
57 {
58 randomVals.add(random.random());
59 }
60
61
62 Assert.assertEquals(randomVals.size(), 100);
63 }
64 }