public void Process_Should_Push_Literal_Value_Into_Stack() { var runnable = GetRunnableWithMainFor(GetInstructions()); var context = new RuntimeContext(runnable); context.Execute(); Assert.AreEqual(1, context.GetSymbolValue("main_x_0")); }
public void Process_Should_Invoke_Defined_Function() { var runnable = BuildNoParamsScript(); var context = new RuntimeContext(runnable); context.Execute(); Assert.AreEqual("Ola", context.GetSymbolValue("do_y_1")); Assert.AreEqual("Ola", context.GetSymbolValue("main_x_0")); }
public void Process_Should_Arithmetic_DIV() { var runnable = GetRunnableWithMainFor(GetInstructions()); var context = new RuntimeContext(runnable); context.Execute(); Assert.AreEqual(1, context.GetSymbolValue("main_x_0")); Assert.AreEqual(5, context.GetSymbolValue("main_y_0")); Assert.AreEqual(3.33333325f, context.GetSymbolValue("main_z_0")); }
public void Process_Should_Arithmetic_NEG() { var runnable = GetRunnableWithMainFor(GetInstructions()); var context = new RuntimeContext(runnable); context.Execute(); Assert.AreEqual(-4, context.GetSymbolValue("main_x_0")); Assert.AreEqual(-8, context.GetSymbolValue("main_y_0")); Assert.AreEqual(-9, context.GetSymbolValue("main_z_0")); Assert.AreEqual(-16, context.GetSymbolValue("main_t_0")); }
public void FactorialCalc() { var runnable = GetRunnableFor("fat", GetInstructions()); var context = new RuntimeContext(runnable); var total = context.Execute("fat", 3); Assert.AreEqual(6, total); Assert.AreEqual(1, context.Execute("fat", 0)); Assert.AreEqual(1, context.Execute("fat", 1)); Assert.AreEqual(24, context.Execute("fat", 4)); Assert.AreEqual(120, context.Execute("fat", 5)); Assert.AreEqual(720, context.Execute("fat", 6)); }
public void Process_Should_Declare_Local_Variables() { var runnable = GetRunnableWithMainFor(GetInstructions()); var context = new RuntimeContext(runnable); context.Execute(); var valuex = context.GetSymbolValue("main_x_0"); var valuey = context.GetSymbolValue("main_y_0"); var valuez = context.GetSymbolValue("main_z_0"); var valuet = context.GetSymbolValue("main_t_0"); Assert.AreEqual(null, valuex); Assert.AreEqual(null, valuey); Assert.AreEqual(null, valuez); Assert.AreEqual(null, valuet); }
public void Process_Should_Assign_Indexed_Variable_With_Indexed_Variable() { var runnable = GetRunnableWithMainFor(GetInstructions4()); var script = runnable; var context = new RuntimeContext(script); context.Execute(); var value = context.GetSymbolValue("main_list_0", 1); Assert.AreEqual("teste", value); }
public void Process_Should_Stop_At_Ilegal_Assign() { var runnable = GetRunnableWithMainFor(GetIlegalInstructions()); var script = runnable; var context = new RuntimeContext(script); Assert.Throws(typeof (RuntimeException), context.Execute); }
public void Process_Should_Assign_Local_Variable_With_Other_Variable() { var runnable = GetRunnableWithMainFor(GetInstructions2()); var script = runnable; var context = new RuntimeContext(script); context.Execute(); var value = context.GetSymbolValue("main_name2_0"); Assert.AreEqual("Ricardo", value); }