public void Test_MultiLevel_Variable_Names() { IParameterDic dic = new ParameterDic(); IParameterDic subDic1, subDic2; int dictionaryCount, subDic1Count, subDic2Count, property1Value, property3Value, property5Value; dic.Set("{SubDic1.Property1}", 1); dic.Set("{SubDic1.SubDic2.Property3}", 3); dic.Set("{SubDic1.SubDic2.Property5}", 3); dic.Add("{SubDic1.SubDic2.Property5}", 2); subDic1 = dic.Get<ParameterDic>("{SubDic1}"); property1Value = dic.Get("{SubDic1.Property1}", -1); subDic2 = dic.Get<ParameterDic>("{SubDic1.SubDic2}"); property3Value = dic.Get("{SubDic1.SubDic2.Property3}", -1); property5Value = dic.Get("{SubDic1.SubDic2.Property5}", -1); dictionaryCount = dic.List().Count(); subDic1Count = subDic1.List().Count(); subDic2Count = subDic2.List().Count(); Assert.AreEqual(1, dictionaryCount, "dictionaryCount"); Assert.IsNotNull(subDic1, "subDic1"); Assert.IsNotNull(subDic2, "subDic2"); Assert.AreEqual(2, subDic1Count, "subDic1Count"); Assert.AreEqual(2, subDic2Count, "subDic2Count"); Assert.AreEqual(1, property1Value, "property1Value"); Assert.AreEqual(3, property3Value, "property3Value"); Assert.AreEqual(5, property5Value, "property5Value"); }
public void Test_ExecuteFunc() { IParameterDic pm = new ParameterDic(); Assert.IsTrue(runCommand( ScriptCommands.Assign("{utcNow}", DateTime.UtcNow, ScriptCommands.ExecuteFunc("{utcNow}", "AddDays", new object[] { 10 }, "{utcNow10}")), pm)); Assert.AreNotEqual(pm.Get("{utcNow.Day}"), pm.Get("{utcNow10.Day}")); }
public void Test_SubString() { IParameterDic pm = new ParameterDic(); string str = "onceuponatime"; Assert.IsTrue(runCommand( ScriptCommands.Assign("{str}", str, ScriptCommands.Substring("{str}", 4, "{outputStr}", ScriptCommands.Substring("{str}", 4, 4, "{outputStr2}"))), pm)); Assert.AreEqual("uponatime", pm.Get("{outputStr}")); Assert.AreEqual("upon", pm.Get("{outputStr2}")); }
public void Test_GetArrayItem() { IParameterDic pm = new ParameterDic(); int[] array = new[] { 1, 3, 5 }; Assert.IsTrue(runCommand( ScriptCommands.Assign("{array}", array, ScriptCommands.GetArrayItem("{array}", 1, "{item1}", ScriptCommands.Reassign("{array[1]}", null, "{item2}"))), pm)); Assert.AreEqual(3, pm.Get("{item1}")); Assert.AreEqual(3, pm.Get("{item2}")); }
public void Test_GetProperty() { IParameterDic pm = new ParameterDic(); Assert.IsTrue(runCommand( ScriptCommands.Assign("{utcNow}", DateTime.UtcNow, ScriptCommands.GetProperty("{utcNow}", "Ticks", "{ticks1}", ScriptCommands.Reassign("{utcNow.Ticks}", null, "{ticks2}"))), pm)); Assert.AreNotEqual(0, pm.Get("{ticks1}")); Assert.AreEqual(pm.Get <long>("{ticks1}"), pm.Get <long>("{ticks2}")); }
public void Test_ParameterDic_Not_Altered() { IParameterDic pm = new ParameterDic(); pm.Set("{var1}", 1); ScriptRunner.RunScript(pm, false, //Not Cloned ScriptCommands.Assign("{var1}", 2)); Assert.AreEqual(2, pm.Get <int>("{var1}", -1)); pm.Set("{var1}", 1); ScriptRunner.RunScript(pm, true, //Cloned ScriptCommands.Assign("{var1}", 2)); Assert.AreEqual(1, pm.Get <int>("{var1}", -1)); }
public void Test_SetProperty() { IParameterDic pm = new ParameterDic(); testClass obj = new testClass() { val1 = 1, val2 = 2 }; Assert.IsTrue(runCommand( ScriptCommands.Assign("{obj}", obj, ScriptCommands.SetProperty("{obj}", "val1", "{obj.val2}", ScriptCommands.Assign("{obj.val2}", 1))), pm)); Assert.AreEqual(2, pm.Get <int>("{obj.val1}")); Assert.AreEqual(1, pm.Get <int>("{obj.val2}")); }
public void Test_Script_Assign() { IParameterDic pm = new ParameterDic(); int var1; bool resultValue; bool success = runCommand(ScriptCommands.Assign("{var1}", 1, ScriptCommands.IfEquals("{var1}", 1, ScriptCommands.Assign("{resultValue}", true), ScriptCommands.Assign("{resultValue}", false))), pm); Assert.IsTrue(success); var1 = pm.Get("{var1}", -1); resultValue = pm.Get("{resultValue}", false); Assert.AreEqual(var1, 1); Assert.IsTrue(resultValue); }
public void Test_Add_Int_And_String() { IParameterDic dic = new ParameterDic(); int property1Value = -1; string property2Value; dic.Set("{Property1}", 10); dic.Set("{Property2}", "Once"); dic.Add("{Property1}", 1, 2, 3); dic.Add("{Property2}", "upon", "a", "time"); property1Value = dic.Get("{Property1}", -1); property2Value = dic.Get("{Property2}", ""); Assert.AreEqual(16, property1Value); Assert.AreEqual("Onceuponatime", property2Value); }
public void Test_Basic_Get_And_Set_Operation() { IParameterDic dic = new ParameterDic(); int totalItems1, totalItems2; string property1Value; int property2Value; dic.Set("{Property1}", "Property1"); dic.Set("{Property2}", 2); totalItems1 = dic.List().Count(); property1Value = dic.Get("{Property1}") as string; property2Value = dic.Get<int>("{Property2}"); dic.Remove("{Property2}"); totalItems2 = dic.List().Count(); Assert.AreEqual(2, totalItems1); Assert.AreEqual(1, totalItems2); Assert.AreEqual("Property1", property1Value); Assert.AreEqual(2, property2Value); }
public void Test_AssignValueFunc() { IParameterDic pm = new ParameterDic(); DateTime utcNow; bool success = runCommand(ScriptCommands.AssignValueFunc("{utcNow}", () => DateTime.UtcNow), pm); Assert.IsTrue(success); utcNow = pm.Get("{utcNow}", DateTime.MinValue); Assert.AreNotEqual(DateTime.MinValue, utcNow); }
public void Test_ForEach() { int[] array = new int[] { 1, 3, 5 }; IParameterDic pm = new ParameterDic(); int sum; bool success = runCommand( ScriptCommands.Assign("{array}", array, ScriptCommands.ForEach("{array}", "{i}", ScriptCommands.Add("{i}", "{sum}", "{sum}"))), pm); Assert.IsTrue(success); sum = pm.Get <int>("{sum}"); Assert.AreEqual(9, sum); }
public void Test_ArithmeticCommands() { IParameterDic pm = new ParameterDic(); int val1 = 1; int val2 = 2; //Assert.IsTrue(runCommand( // ScriptCommands.Assign(val1, // ScriptCommands.Assign(val2, // ScriptCommands.Add("{val1}", "{val2}", "{outputVal}"))), pm)); Assert.IsTrue(runCommand( ScriptCommands.AssignMulti( ScriptCommands.Add("{val1}", "{val2}", "{outputVal}"), () => val1, () => val2), pm)); Assert.AreEqual(3, pm.Get("{outputVal}")); }
public void Test_FormatText() { string fmtString = "{day}-{month}-{year}"; int day = 5; int month = 12; int year = 2015; string outputStr; IParameterDic pm = new ParameterDic(); bool success = runCommand( ScriptCommands.Assign("{day}", day, ScriptCommands.Assign("{month}", month, ScriptCommands.Assign("{year}", year, ScriptCommands.FormatText("{output}", fmtString)))), pm); Assert.IsTrue(success); outputStr = pm.Get <string>("{output}"); Assert.AreEqual("5-12-2015", outputStr); }
public void Test_FilterArray() { int[] array = new int[] { 1, 3, 5 }; IParameterDic pm = new ParameterDic(); int[] outputArray; int arraySize; bool success = runCommand( ScriptCommands.Assign("{array}", array, ScriptCommands.FilterArray("{array}", null, ComparsionOperator.GreaterThan, 2, "{outputArray}", ScriptCommands.PrintDebug("{outputArray.Length}"))), pm); Assert.IsTrue(success); outputArray = pm.Get <int[]>("{outputArray}"); arraySize = outputArray.Length; Assert.IsNotNull(outputArray); Assert.AreEqual(2, arraySize); }