package de.ivu.elect.business.hochrechnung.entity;

import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;

import de.ivu.elect.business.ergebnis.entity.Stimmenart;
import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.business.gruppe.entity.PolitischeGruppe;
import de.ivu.elect.business.kandidatur.entity.Listenkandidatur;

public abstract class ZufaelligeParteiStimmenGenerator {
  public abstract Map<PolitischeGruppe, ParteiStimmen<Double>> generateZufaelligeParteiStimmenanteile(Gebiet gebiet, List<PolitischeGruppe> politischeGruppen, Function<PolitischeGruppe, Set<Stimmenart>> stimmenartenProPolitischeGruppe, Function<PolitischeGruppe, Set<Listenkandidatur>> listenkandidaturenProPolitischeGruppe);
}