Beispiel #1
0
        public void ExecutarTestesUnderscoreMutanteComFalha()
        {
            var diretorioFontes = Path.Combine(Environment.CurrentDirectory, "Require");
            var jhelper = new JavascriptHelper(diretorioFontes, true, true);
            jhelper.ConfigurarGeracao();

            var caminhoJs = string.Format("{0}\\{1}", diretorioFontes, "underscore.js");
            var caminhoTestes = string.Format("{0}\\{1}", diretorioFontes, "underscoreTests.js");

            var codigo = File.ReadAllText(caminhoJs);
            var ast = jhelper.GerarAst(codigo);

            var fit = jhelper.ExecutarTestes(caminhoJs, caminhoTestes);
            jhelper.ConfigurarMelhorFit(fit);

            jhelper.ReiniciarEngine();

            var novaAst = jhelper.ExecutarMutacaoExclusao(ast, 1190); //continua válido mas falha nos testes [ 4 testes com falha]

            var novoCodigo = jhelper.GerarCodigo(novaAst);
            var caminhoNovoJs = string.Format("{0}\\{1}", diretorioFontes, "Novo.js");
            File.WriteAllText(caminhoNovoJs, novoCodigo);

            var novaFit = jhelper.ExecutarTestes(caminhoNovoJs, caminhoTestes);

            Assert.IsNotEmpty(novoCodigo);
            Assert.AreNotEqual(fit, novaFit);
            Assert.Greater(jhelper.TestesComFalha, 0);
        }
Beispiel #2
0
        public void ExecutarTestesUnderscoreMutanteComSucesso()
        {
            var diretorioFontes = Path.Combine(Environment.CurrentDirectory, "Require");
            var jhelper = new JavascriptHelper(diretorioFontes, true, true);
            jhelper.ConfigurarGeracao();

            var caminhoJs = string.Format("{0}\\{1}", diretorioFontes, "underscore.js");
            var caminhoTestes = string.Format("{0}\\{1}", diretorioFontes, "underscoreTests.js");

            var codigo = File.ReadAllText(caminhoJs);
            var ast = jhelper.GerarAst(codigo);

            var fit = jhelper.ExecutarTestes(caminhoJs, caminhoTestes);
            jhelper.ConfigurarMelhorFit(fit);

            jhelper.ReiniciarEngine();

            var caminhoNovoJs = string.Format("{0}\\{1}", diretorioFontes, "UnderscoreMutanteBom.js");

            var novaFit = jhelper.ExecutarTestes(caminhoNovoJs, caminhoTestes);

            Assert.Greater(fit, novaFit);
            Assert.AreEqual(0, jhelper.TestesComFalha);

            Console.WriteLine("Antigo: {0} | Novo: {1}", fit, novaFit);
        }