public void ContarNosCalleeTest() { const string diretorioExecucao = "Require"; var helper = new JavascriptHelper(Path.Combine(Environment.CurrentDirectory, diretorioExecucao), false, false); helper.ConfigurarGeracao(); var scriptCode = File.ReadAllText(Path.Combine(Environment.CurrentDirectory, diretorioExecucao, "global.js")); var astMoment = helper.GerarAst(scriptCode); File.WriteAllText("astMoment.txt", helper.FormatarStringJson(astMoment)); var nos = helper.ContarNosCallee(astMoment); Assert.AreEqual(592, nos.Count); }
public void GerarAst() { const string diretorioExecucao = "Require"; var scriptCode = File.ReadAllText(Path.Combine(Environment.CurrentDirectory, diretorioExecucao, "underscore.js")); var astUnderscore = File.ReadAllText(Path.Combine(Environment.CurrentDirectory, diretorioExecucao, "astUnderscore.txt")); var helper = new JavascriptHelper(Path.Combine(Environment.CurrentDirectory, diretorioExecucao), true, false); helper.ConfigurarGeracao(); var ast = helper.GerarAst(scriptCode); File.WriteAllText("astUnderscoreNovo.txt", helper.FormatarStringJson(ast)); Assert.AreEqual(astUnderscore, helper.FormatarStringJson(helper.JsonAst), "AST Inválida"); Assert.AreEqual(ast, helper.JsonAst, "AST Inválida"); }
public void GerarCodigoDoMoment() { const string diretorioExecucao = "Require"; var helper = new JavascriptHelper(Path.Combine(Environment.CurrentDirectory, diretorioExecucao), false, false); helper.ConfigurarGeracao(); var scriptCode = File.ReadAllText(Path.Combine(Environment.CurrentDirectory, diretorioExecucao, "global.js")); var astMoment = helper.GerarAst(scriptCode); File.WriteAllText("astMoment.txt", helper.FormatarStringJson(astMoment)); var codigo = helper.GerarCodigo(astMoment); File.WriteAllText("codigo.txt", scriptCode); File.WriteAllText("codigoNovo.txt", codigo); Assert.AreEqual(scriptCode, helper.Codigo, "Código Inválido"); }
public void ExecutarMutacaoExclusao() { var sw = new Stopwatch(); sw.Start(); var helper = new JavascriptHelper(Path.Combine(Environment.CurrentDirectory, "Require"), true, false); var scriptCode = File.ReadAllText(Path.Combine(Environment.CurrentDirectory, "Require", "global.js")); helper.ConfigurarGeracao(); var ast = helper.GerarAst(scriptCode); int no = new Random().Next(0, helper.ContarNos(ast)); var astNova = helper.ExecutarMutacaoExclusao(ast, no); sw.Stop(); Console.WriteLine("ExecutarMutacaoExclusao {0}", sw.Elapsed.ToString(@"hh\:mm\:ss\.ffff")); Assert.AreNotEqual(ast, astNova); File.WriteAllText("astOriginal.txt", helper.FormatarStringJson(ast)); File.WriteAllText("astMutada.txt", helper.FormatarStringJson(astNova)); sw.Reset(); sw.Start(); //var codigo = helper.GerarCodigo(ast); var codigoNovo = helper.GerarCodigo(astNova); sw.Stop(); Console.WriteLine("GerarCodigo {0}", sw.Elapsed.ToString(@"hh\:mm\:ss\.ffff")); Assert.AreNotEqual("", codigoNovo); Assert.AreNotEqual(scriptCode, codigoNovo); File.WriteAllText("codigo.txt", scriptCode); File.WriteAllText("codigoNovo.txt", codigoNovo); }