public void AddsExpectedErrorTest_NullActiveCodePane()
        {
            var input =
                @"Option Explicit
Option Private Module


'@TestModule
Private Assert As Object
";

            var         builder = new MockVbeBuilder();
            VBComponent component;
            var         vbe = builder.BuildFromSingleStandardModule(input, out component);

            vbe.Setup(s => s.ActiveCodePane).Returns((CodePane)null);
            var mockHost = new Mock <IHostApplication>();

            mockHost.SetupAllProperties();
            var parser = MockParser.Create(vbe.Object, new RubberduckParserState(new Mock <ISinks>().Object));

            parser.Parse(new CancellationTokenSource());
            if (parser.State.Status >= ParserState.Error)
            {
                Assert.Inconclusive("Parser Error");
            }

            var addTestMethodCommand = new AddTestMethodExpectedErrorCommand(vbe.Object, parser.State);

            addTestMethodCommand.Execute(null);

            Assert.AreEqual(input, component.CodeModule.Lines());
        }
        public void AddsExpectedErrorTest()
        {
            var input = @"
Option Explicit
Option Private Module

'@TestModule

Private Assert As Object
{0}";

            IVBComponent component;
            var          vbe = MockVbeBuilder.BuildFromSingleStandardModule(string.Format(input, string.Empty), out component);

            using (var state = MockParser.CreateAndParse(vbe.Object))
            {
                var addTestMethodCommand = new AddTestMethodExpectedErrorCommand(vbe.Object, state);

                addTestMethodCommand.Execute(null);
                var module = component.CodeModule;

                Assert.AreEqual(
                    string.Format(input,
                                  AddTestMethodExpectedErrorCommand.TestMethodExpectedErrorTemplate.Replace(AddTestMethodExpectedErrorCommand.NamePlaceholder,
                                                                                                            "TestMethod1")) + Environment.NewLine, module.Content());
            }
        }
        public void AddsExpectedErrorTest()
        {
            var input =
                @"Option Explicit
Option Private Module


'@TestModule
Private Assert As Object
{0}";

            var         builder = new MockVbeBuilder();
            VBComponent component;
            var         vbe      = builder.BuildFromSingleStandardModule(string.Format(input, string.Empty), out component);
            var         mockHost = new Mock <IHostApplication>();

            mockHost.SetupAllProperties();
            var parser = MockParser.Create(vbe.Object, new RubberduckParserState(new Mock <ISinks>().Object));

            parser.Parse(new CancellationTokenSource());
            if (parser.State.Status >= ParserState.Error)
            {
                Assert.Inconclusive("Parser Error");
            }

            var addTestMethodCommand = new AddTestMethodExpectedErrorCommand(vbe.Object, parser.State);

            addTestMethodCommand.Execute(null);

            Assert.AreEqual(
                string.Format(input,
                              AddTestMethodExpectedErrorCommand.TestMethodExpectedErrorTemplate.Replace(AddTestMethodExpectedErrorCommand.NamePlaceholder,
                                                                                                        "TestMethod1")) + Environment.NewLine, component.CodeModule.Lines());
        }
        public void AddsExpectedErrorTest_NullActiveCodePane()
        {
            var input = @"
Option Explicit
Option Private Module

'@TestModule
Private Assert As Object
";

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

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

            var state = MockParser.CreateAndParse(vbe.Object);

            var addTestMethodCommand = new AddTestMethodExpectedErrorCommand(vbe.Object, state);

            addTestMethodCommand.Execute(null);

            Assert.AreEqual(input, component.CodeModule.Content());
        }