public void TestTryCombinedFail() { var indiciesToInspect = DeclarableParameter.CreateDeclarableParameterArrayExpression(typeof(int)); var index1 = DeclarableParameter.CreateDeclarableParameterExpression(typeof(int)); var index2 = DeclarableParameter.CreateDeclarableParameterExpression(typeof(int)); var passedArray = DeclarableParameter.CreateDeclarableParameterArrayExpression(typeof(bool)); var s1 = new StatementCheckLoopPairwise(indiciesToInspect, index1, index2, passedArray); var indiciesToInspect1 = DeclarableParameter.CreateDeclarableParameterArrayExpression(typeof(int)); var index3 = DeclarableParameter.CreateDeclarableParameterExpression(typeof(int)); var index4 = DeclarableParameter.CreateDeclarableParameterExpression(typeof(int)); var passedArray1 = DeclarableParameter.CreateDeclarableParameterArrayExpression(typeof(bool)); var s2 = new StatementCheckLoopPairwise(indiciesToInspect1, index3, index4, passedArray1); Assert.IsFalse(s1.TryCombineStatement(s2, null), "COmbine should fail"); }
public DoRenames(StatementCheckLoopPairwise s2) { // TODO: Complete member initialization this.s2 = s2; }
public void TestRename() { var indiciesToInspect = DeclarableParameter.CreateDeclarableParameterArrayExpression(typeof(int)); var index1 = DeclarableParameter.CreateDeclarableParameterExpression(typeof(int)); var index2 = DeclarableParameter.CreateDeclarableParameterExpression(typeof(int)); var passedArray = DeclarableParameter.CreateDeclarableParameterArrayExpression(typeof(bool)); var s1 = new StatementCheckLoopPairwise(indiciesToInspect, index1, index2, passedArray); s1.Add(new StatementSimpleStatement(string.Format("{0} = fork", index2.RawValue))); s1.RenameVariable(indiciesToInspect.RawValue, "dude1"); Assert.AreEqual("dude1", indiciesToInspect.RawValue, "indices 1"); s1.RenameVariable(index1.RawValue, "dude2"); Assert.AreEqual(index1.RawValue, "dude2", "index1 didn't get set"); s1.RenameVariable(index2.RawValue, "dude3"); Assert.AreEqual(index2.RawValue, "dude3", "index2 didn't get set"); s1.RenameVariable(passedArray.RawValue, "dude4"); Assert.AreEqual(passedArray.RawValue, "dude4", "passed array didn't get set"); Assert.AreEqual("dude3 = fork", (s1.Statements.First() as StatementSimpleStatement).Line, "statement 1 didn't get translated"); }
public void TestStatementCheckLoopPairwiseConstructor(IDeclaredParameter indiciesToInspect, IDeclaredParameter index1, IDeclaredParameter index2, IDeclaredParameter passedArray) { StatementCheckLoopPairwise target = new StatementCheckLoopPairwise(indiciesToInspect, index1, index2, passedArray); }
public void TestTryCombineGood() { var indiciesToInspect = DeclarableParameter.CreateDeclarableParameterArrayExpression(typeof(int)); var index1 = DeclarableParameter.CreateDeclarableParameterExpression(typeof(int)); var index2 = DeclarableParameter.CreateDeclarableParameterExpression(typeof(int)); var passedArray = DeclarableParameter.CreateDeclarableParameterArrayExpression(typeof(bool)); var s1 = new StatementCheckLoopPairwise(indiciesToInspect, index1, index2, passedArray); var index3 = DeclarableParameter.CreateDeclarableParameterArrayExpression(typeof(int)); var index4 = DeclarableParameter.CreateDeclarableParameterArrayExpression(typeof(int)); var passedArray1 = DeclarableParameter.CreateDeclarableParameterArrayExpression(typeof(bool)); var s2 = new StatementCheckLoopPairwise(indiciesToInspect, index3, index4, passedArray1); s2.Add(new StatementSimpleStatement(string.Format("{0} = dude", index3.RawValue))); var co = new DoRenames(s2); Assert.IsTrue(s1.TryCombineStatement(s2, co), "COmbine should pass"); Assert.AreEqual(1, s1.Statements.Count(), "# of statements"); Assert.AreEqual(string.Format("{0} = dude", index1.RawValue), (s1.Statements.First() as StatementSimpleStatement).Line, "statement not translated"); }