public void AddNoIndentAnnotation_ModuleContainsCode()
        {
            var input =
                @"Option Explicit
Public Foo As Boolean

Sub Foo()
End Sub";

            var expected =
                @"'@NoIndent
Option Explicit
Public Foo As Boolean

Sub Foo()
End Sub";

            IVBComponent component;
            var          vbe = MockVbeBuilder.BuildFromSingleStandardModule(input, out component, Selection.Home);

            var(state, rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object);
            using (state)
            {
                var noIndentAnnotationCommand = MockIndenter.ArrangeNoIndentAnnotationCommand(vbe, state, rewritingManager);
                noIndentAnnotationCommand.Execute(null);

                Assert.AreEqual(expected, component.CodeModule.Content());
            }
        }
        public void AddNoIndentAnnotation_CanExecute_ModuleAlreadyHasAnnotation()
        {
            IVBComponent component;
            var          vbe = MockVbeBuilder.BuildFromSingleStandardModule("'@NoIndent\r\n", out component);

            vbe.Setup(v => v.ActiveCodePane).Returns((ICodePane)null);

            var(state, rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object);
            using (state)
            {
                var noIndentAnnotationCommand = MockIndenter.ArrangeNoIndentAnnotationCommand(vbe, state, rewritingManager);
                Assert.IsFalse(noIndentAnnotationCommand.CanExecute(null));
            }
        }
        public void AddNoIndentAnnotation()
        {
            IVBComponent component;
            var          vbe = MockVbeBuilder.BuildFromSingleStandardModule("", out component, Selection.Home);

            var(state, rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object);
            using (state)
            {
                var noIndentAnnotationCommand = MockIndenter.ArrangeNoIndentAnnotationCommand(vbe, state, rewritingManager);
                noIndentAnnotationCommand.Execute(null);

                Assert.AreEqual("'@NoIndent\r\n", component.CodeModule.Content());
            }
        }