public int Exec(ref Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) { if (pguidCmdGroup == GuidList.guidLocalRefactorCmdSet) { if (nCmdID == PkgCmdIDList.cmdidExtractVariable) { codeManipulator.ExtractVariable(); return(VSConstants.S_OK); } if (nCmdID == PkgCmdIDList.cmdidExtractConstant) { codeManipulator.ExtractConstant(); return(VSConstants.S_OK); } if (nCmdID == PkgCmdIDList.cmdidAssignParameter) { codeManipulator.AssignParameterToField(); return(VSConstants.S_OK); } if (nCmdID == PkgCmdIDList.cmdidConvertVariable) { codeManipulator.ConvertVariableToField(); return(VSConstants.S_OK); } } return(Next.Exec(ref pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut)); }
public void ShouldExtractConstantAndInsertConstantOnLastLineOfClassDeclarations() { StringTextBuffer testBuffer = new StringTextBuffer(ExpressionInContext("int x = a - b + c * d / e % 3444;", "private const double pi=3.14159;")); mockView.Setup(m => m.TextBuffer).Returns(testBuffer); mockView.Setup(m => m.Selection).Returns(testBuffer.Select("3444")); mockNameProvider.Setup(m => m.GetConstantName()).Returns("constant"); manipulator.ExtractConstant(); Console.Out.Write(testBuffer.CurrentSnapshot.GetText()); Assert.AreEqual(" private const int constant = 3444;", testBuffer.CurrentSnapshot.Lines.ElementAt(6).GetText()); Assert.AreEqual(" int x = a - b + c * d / e % constant;", testBuffer.CurrentSnapshot.Lines.ElementAt(9).GetText()); }