java-tutorials/spring-boot/src/test/java/com/baeldung/keycloak/KeycloakConfigurationTest.java

45 lines
1.2 KiB
Java
Raw Normal View History

package com.baeldung.keycloak;
import org.junit.Test;
2017-10-29 16:05:26 +01:00
import java.util.Random;
import java.util.stream.IntStream;
import java.util.stream.Stream;
2017-10-29 16:05:26 +01:00
public class KeycloakConfigurationTest {
2017-10-29 16:05:26 +01:00
private static final Random RANDOM = new Random();
@Test
public void testGetKeycloakSecurityContext() throws Exception {
2017-10-29 16:05:26 +01:00
IntStream.generate(this::getResultWithSwitching)
.limit(10000000)
.average().ifPresent(System.out::println);
}
2017-10-29 16:05:26 +01:00
public int getResultWithoutSwitching() {
boolean[] gates = {false, false, false};
gates[RANDOM.nextInt(3)] = true;
int pick = RANDOM.nextInt(3);
return gates[pick] ? 1 : 0;
}
2017-10-29 16:05:26 +01:00
public int getResultWithSwitching() {
boolean[] gates = {false, false, false};
int win = RANDOM.nextInt(3);
gates[win] = true;
int pick = RANDOM.nextInt(3);
int empty = Stream.of(0, 1, 2)
.filter(i -> i != pick)
.filter(i -> !gates[i])
.findFirst().get();
int newPick = Stream.of(0, 1, 2)
.filter(i -> i != pick)
.filter(i -> i != empty)
.findFirst().get();
return gates[newPick] ? 1 : 0;
}
}