public void testGetSelectionProbability() {
final double EPSILON_R = 1e-7;
this.config.planCalcScore().setBrainExpBeta(2.0);
Person person = PopulationUtils.getFactory().createPerson(Id.create(1, Person.class));
Plan plan1 = PersonUtils.createAndAddPlan(person, false);
plan1.setScore(180.0);
Plan plan2 = PersonUtils.createAndAddPlan(person, false);
plan2.setScore(180.1);
Plan plan3 = PersonUtils.createAndAddPlan(person, false);
plan3.setScore(180.5);
Plan plan4 = PersonUtils.createAndAddPlan(person, false);
plan4.setScore(169.9);
ExpBetaPlanSelector testee = new ExpBetaPlanSelector(this.config.planCalcScore());
assertEquals(0.2024421, ExpBetaPlanSelector.getSelectionProbability(testee, person, plan1), EPSILON_R);
assertEquals(0.2472634, ExpBetaPlanSelector.getSelectionProbability(testee, person, plan2), EPSILON_R);
assertEquals(0.5502947, ExpBetaPlanSelector.getSelectionProbability(testee, person, plan3), EPSILON_R);
assertEquals(6.208075e-10, ExpBetaPlanSelector.getSelectionProbability(testee, person, plan4), EPSILON_R);
}