package org.eclipse.viatra.solver.data.map; import static org.junit.Assert.fail; import java.util.Random; import org.eclipse.viatra.solver.data.map.internal.VersionedMapImpl; import org.junit.jupiter.api.Test; public class SmokeTest3CompareMutableWithImmutable { private void runSmokeTest(String scenario, int seed, int steps, int maxKey, int maxValue, int commitFrequency) { String[] values = prepareValues(maxValue); ContinousHashProvider chp = prepareHashProvider(); VersionedMapStore store = new VersionedMapStoreImpl(chp, values[0]); VersionedMapImpl sut = (VersionedMapImpl) store.createMap(); MapTestEnvironment e = new MapTestEnvironment(sut); Random r = new Random(seed); iterativeRandomPutsAndCommits(scenario, steps, maxKey, values, e, r, commitFrequency); } private String[] prepareValues(int maxValue) { String[] values = new String[maxValue]; values[0] = "DEFAULT"; for(int i = 1; i prepareHashProvider() { ContinousHashProvider chp = new ContinousHashProvider() { @Override public int getHash(Integer key, int index) { int result = 1; final int prime = 31; result = prime*result + key; result = prime*result + index; return result; } @Override public boolean equals(Integer key1, Integer key2) { return key1.equals(key2); } }; return chp; } void iterativeRandomPutsAndCommits( String scenario, int steps, int maxKey, String[] values, MapTestEnvironment e, Random r, int commitFrequency) { int stopAt = -1; for(int i=0; i