public StatementSimpleStatement TestRename([PexAssumeUnderTest] StatementSimpleStatement target, string oldvar, string newvar)
        {
            //
            // Make sure that Pex is using a legal variable name
            //

            var goodVar = new Regex(string.Format(@"w+"));

            if (!goodVar.Match(oldvar).Success)
            {
                throw new ArgumentException("The old variable is not a proper variable name");
            }
            if (!goodVar.Match(newvar).Success)
            {
                throw new ArgumentException("THe new variable is not a proper variable name");
            }

            target.RenameVariable(oldvar, newvar);

            if (oldvar != null && oldvar != newvar)
            {
                Assert.IsFalse(Regex.Match(target.Line, string.Format(@"\b{0}\b", oldvar)).Success, "old guy should not be in there!");
            }
            return(target);
        }
        public void SimpleStatementCallbackAndTransformAfterRendering()
        {
            var st    = new StatementSimpleStatement(() => "int j");
            var lines = st.CodeItUp().ToArray();

            st.RenameVariable("j", "k");
            lines = st.CodeItUp().ToArray();
            Assert.AreEqual(1, lines.Length);
            Assert.AreEqual("int k;", lines[0]);
        }
 public void SimpleStatementCallbackAndTransformAfterRendering()
 {
     var st = new StatementSimpleStatement(() => "int j");
     var lines = st.CodeItUp().ToArray();
     st.RenameVariable("j", "k");
     lines = st.CodeItUp().ToArray();
     Assert.AreEqual(1, lines.Length);
     Assert.AreEqual("int k;", lines[0]);
 }