public void TestRandomSolution() { MockReferView rv = new MockReferView(); ConfigController configController = new ConfigController(rv); GeneticProgrammingController gpc = new GeneticProgrammingController(rv, configController); gpc.gpRunner.gpConfig.poolSize = 2; gpc.InitPool(); GPSolution solution = gpc.gpRunner.pool.template.CreateRandomSolution(); Assert.IsNotNull(solution); }
public void TestValidaCandidato() { MockReferView rv = new MockReferView(); ConfigController configController = new ConfigController(rv); GeneticProgrammingController gpc = new GeneticProgrammingController(rv, configController); gpc.gpRunner.gpConfig.poolSize = 2; gpc.InitPool(); gpc.solutionToTest = new GPSolutionProxy(); gpc.solutionToTest.tradeSystem = new TradeSystem(configController.config); Assert.IsNotNull(gpc.solutionToTest.tradeSystem); Carteira carteira = gpc.SingleRunValidaSolution("teste Validation"); Assert.IsTrue(carteira.estatistica.capitalFinal != carteira.estatistica.capitalInicial); Assert.IsNotNull(carteira); Assert.IsTrue(carteira.posicoesAbertas.Count == 0); Assert.IsTrue(carteira.posicoesFechadas.Count > 0); Assert.IsTrue(configController.facadeValidation.dh.ativos.Count > 0); //adicionar o resultado da carteira em algum objeto persistido, ordenando pelo resultado final CandidatoManager cm = CandidatoManager.LoadSaved(configController.config.tipoPeriodo); CandidatoManager cm2 = CandidatoManager.LoadSaved(configController.config.tipoPeriodo); Assert.IsTrue(cm == cm2); Estatistica stat = new Estatistica(10000); CandidatoManager cmTest = new CandidatoManager(); TradeSystem ts1 = new TradeSystem(configController.config); TradeSystem ts2 = new TradeSystem(configController.config); TradeSystem ts3 = new TradeSystem(configController.config); stat.capitalFinal = 1000; cmTest.AddTradeSystem(ts1, stat, configController.config.tipoPeriodo); Assert.IsTrue(cmTest.GetRanking(ts1) == 0); stat.capitalFinal = 2000; cmTest.AddTradeSystem(ts2, stat, configController.config.tipoPeriodo); Assert.IsTrue(cmTest.GetRanking(ts1) == 1); Assert.IsTrue(cmTest.GetRanking(ts2) == 0); stat.capitalFinal = 3000; cmTest.AddTradeSystem(ts3, stat, configController.config.tipoPeriodo); Assert.IsTrue(cmTest.GetRanking(ts1) == 2); Assert.IsTrue(cmTest.GetRanking(ts2) == 1); Assert.IsTrue(cmTest.GetRanking(ts3) == 0); }
private void btnRodaGP_Click(object sender, System.EventArgs e) { gpController.InitPool(); gpController.Run(); }