runnerRandomness.getSeed() ^ MurmurHash3.hash((long) method.getName().hashCode());
final HashSet<Long> seeds = new HashSet<Long>();
// Check method-level @Seed and @Seeds annotation first.
// They take precedence over anything else.
Seed seed;
if ((seed = method.getAnnotation(Seed.class)) != null) {
for (long s : seedFromAnnot(method, randomSeed)) {
seeds.add(s);
}
}
// Check a number of seeds on a single method.
Seeds seedsValue = classModel.getAnnotation(method, Seeds.class, true);
if (seedsValue != null) {
for (Seed s : seedsValue.value()) {
if (s.value().equals("random"))
seeds.add(randomSeed);
else {
for (long s2 : SeedUtils.parseSeedChain(s.value())) {
seeds.add(s2);
}
}
}
}
// Check suite-level override.
if (seeds.isEmpty()) {
if ((seed = suiteClass.getAnnotation(Seed.class)) != null) {
if (!seed.value().equals("random")) {
long [] seedChain = SeedUtils.parseSeedChain(suiteClass.getAnnotation(Seed.class).value());
if (seedChain.length > 1)
seeds.add(seedChain[1]);
}
}