[
https://issues.apache.org/jira/browse/RNG-115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alex D Herbert resolved RNG-115.
--------------------------------
Fix Version/s: 1.3
Resolution: Implemented
In master.
> 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
> Priority: Minor
> Fix For: 1.3
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> 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)