You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Alex D Herbert (Jira)" <ji...@apache.org> on 2019/09/02 20:20:00 UTC
[jira] [Created] (RNG-115) JDKRandom to allow restore state when
saved from a different instance
Alex D Herbert created RNG-115:
----------------------------------
Summary: JDKRandom to allow restore state when saved from a different instance
Key: RNG-115
URL: https://issues.apache.org/jira/browse/RNG-115
Project: Commons RNG
Issue Type: Bug
Components: core
Affects Versions: 1.2
Reporter: Alex D Herbert
Assignee: Alex D Herbert
Currently the size of the serialized state of the java.util.Random used by JDKRandom is saved to the instance when the state is saved. Thus the state cannot be used to restore a different instance of the same class. This breaks the contract of the RestorableUniformRandomProvider as the state should be applicable to a different instance of the same class.
Fix this test to work:
{code:java}
@Test
public void testRestoreToNewInstance() {
final long seed = 8796746234L;
final JDKRandom rng1 = new JDKRandom(seed);
final JDKRandom rng2 = new JDKRandom(seed + 1);
final RandomProviderState state = rng1.saveState();
rng2.restoreState(state);
final int numRepeats = 1000;
for (int r = 0; r < numRepeats; r++) {
Assert.assertEquals(r + " nextInt", rng1.nextInt(), rng2.nextInt());
}
}
{code}
--
This message was sent by Atlassian Jira
(v8.3.2#803003)