public AlgoritmoGenetico(IPoblacion poblacionInicial,
     IOperadorSeleccion _operadorSeleccion,
     IOperadorCruzamiento _operadorCruzamiento,
     IOperadorMutacion _operadorMutacion,
     IOperadorCorte _operadorCorte,
     IteracionCanceladaEventHandler IteracionCancelada)
 {
     this._poblacion = poblacionInicial;
     this._operadorSeleccion = _operadorSeleccion;
     this._operadorCruzamiento = _operadorCruzamiento;
     this._operadorMutacion = _operadorMutacion;
     this._operadorCorte = _operadorCorte;
     IteracionCancelada += AlgoritmoGenetico_IteracionCancelada;
 }
        public void TestInitialize()
        {
            this._numeroGeneracion = 0;

            this._operadorSeleccion = MockRepository.GenerateMock<IOperadorSeleccion>();
            this._operadorCruzamiento = MockRepository.GenerateMock<IOperadorCruzamiento>();
            this._operadorMutacion = MockRepository.GenerateMock<IOperadorMutacion>();
            this._operadorCorte = MockRepository.GenerateMock<IOperadorCorte>();
            this._individuos = new List<IIndividuo>();
            this._poblacionInicial = MockRepository.GenerateMock<IPoblacion>();
            this._poblacionInicial.Expect(e => e.NumeroGeneracion).Repeat.Any().Return(_numeroGeneracion);
            this._poblacionInicial.Expect(e => e.PoblacionActual).Return(this._individuos).Repeat.Any();

            this._algoritmoGenetico = new AlgoritmoGenetico(_poblacionInicial,
                _operadorSeleccion,
                _operadorCruzamiento,
                _operadorMutacion,
                _operadorCorte);
        }