Ejemplo n.º 1
0
        public void Discovery_IgnoresNonAnnotatedModuleInitInGivenNonTestModule()
        {
            var builder = new MockVbeBuilder();
            var project = builder.ProjectBuilder("TestProject1", vbext_ProjectProtection.vbext_pp_none)
                          .AddComponent("TestModule1", vbext_ComponentType.vbext_ct_StdModule, GetNormalModuleInput.Replace("'@ModuleInitialize", string.Empty));

            var vbe      = builder.AddProject(project.Build()).Build();
            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 component           = project.MockComponents.Single(f => f.Object.Name == "TestModule1").Object;
            var qualifiedModuleName = new QualifiedModuleName(component);

            var initMethods = qualifiedModuleName.FindModuleInitializeMethods(parser.State);

            Assert.IsFalse(initMethods.Any());
        }
Ejemplo n.º 2
0
        public void Discovery_DiscoversAnnotatedModuleInitInGivenTestModule()
        {
            var builder = new MockVbeBuilder();
            var project = builder.ProjectBuilder("TestProject1", vbext_ProjectProtection.vbext_pp_none)
                          .AddComponent("TestModule1", vbext_ComponentType.vbext_ct_StdModule, GetTestModuleInput)
                          .AddComponent("TestModule2", vbext_ComponentType.vbext_ct_StdModule, GetTestModuleInput);

            var vbe      = builder.AddProject(project.Build()).Build();
            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 component           = project.MockComponents.Single(f => f.Object.Name == "TestModule1").Object;
            var qualifiedModuleName = new QualifiedModuleName(component);

            var initMethods = qualifiedModuleName.FindModuleInitializeMethods(parser.State).ToList();

            Assert.AreEqual(1, initMethods.Count);
            Assert.AreEqual("TestModule1", initMethods.ElementAt(0).QualifiedModuleName.ComponentName);
            Assert.AreEqual("ModuleInitialize", initMethods.ElementAt(0).MemberName);
        }
Ejemplo n.º 3
0
        public void Discovery_DiscoversAnnotatedModuleInitInGivenTestModule()
        {
            var builder = new MockVbeBuilder();
            var project = builder.ProjectBuilder("TestProject1", ProjectProtection.Unprotected)
                          .AddComponent("TestModule1", ComponentType.StandardModule, GetTestModuleInput)
                          .AddComponent("TestModule2", ComponentType.StandardModule, GetTestModuleInput);

            var vbe    = builder.AddProject(project.Build()).Build().Object;
            var parser = MockParser.Create(vbe);

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

            var component           = project.MockComponents.Single(f => f.Object.Name == "TestModule1").Object;
            var qualifiedModuleName = new QualifiedModuleName(component);

            var initMethods = qualifiedModuleName.FindModuleInitializeMethods(parser.State).ToList();

            Assert.AreEqual(1, initMethods.Count);
            Assert.AreEqual("TestModule1", initMethods.ElementAt(0).QualifiedName.QualifiedModuleName.ComponentName);
            Assert.AreEqual("ModuleInitialize", initMethods.ElementAt(0).QualifiedName.MemberName);
        }
Ejemplo n.º 4
0
        public void Discovery_IgnoresNonAnnotatedModuleInitInGivenNonTestModule()
        {
            var builder = new MockVbeBuilder();
            var project = builder.ProjectBuilder("TestProject1", ProjectProtection.Unprotected)
                          .AddComponent("TestModule1", ComponentType.StandardModule, GetNormalModuleInput.Replace("'@ModuleInitialize", string.Empty));

            var vbe = builder.AddProject(project.Build()).Build().Object;

            using (var state = MockParser.CreateAndParse(vbe))
            {
                var component           = project.MockComponents.Single(f => f.Object.Name == "TestModule1").Object;
                var qualifiedModuleName = new QualifiedModuleName(component);

                var initMethods = qualifiedModuleName.FindModuleInitializeMethods(state);
                Assert.IsFalse(initMethods.Any());
            }
        }
Ejemplo n.º 5
0
        public void Discovery_DiscoversAnnotatedModuleInitInGivenTestModule()
        {
            var builder = new MockVbeBuilder();
            var project = builder.ProjectBuilder("TestProject1", ProjectProtection.Unprotected)
                          .AddComponent("TestModule1", ComponentType.StandardModule, GetTestModuleInput)
                          .AddComponent("TestModule2", ComponentType.StandardModule, GetTestModuleInput);

            var vbe = builder.AddProject(project.Build()).Build().Object;

            using (var state = MockParser.CreateAndParse(vbe))
            {
                var component           = project.MockComponents.Single(f => f.Object.Name == "TestModule1").Object;
                var qualifiedModuleName = new QualifiedModuleName(component);

                var initMethods = qualifiedModuleName.FindModuleInitializeMethods(state).ToList();

                Assert.AreEqual(1, initMethods.Count);
                Assert.AreEqual("TestModule1", initMethods.ElementAt(0).QualifiedName.QualifiedModuleName.ComponentName);
                Assert.AreEqual("ModuleInitialize", initMethods.ElementAt(0).QualifiedName.MemberName);
            }
        }
Ejemplo n.º 6
0
        public void Discovery_IgnoresNonAnnotatedModuleInitInGivenNonTestModule()
        {
            var builder = new MockVbeBuilder();
            var project = builder.ProjectBuilder("TestProject1", ProjectProtection.Unprotected)
                          .AddComponent("TestModule1", ComponentType.StandardModule, GetNormalModuleInput.Replace("'@ModuleInitialize", string.Empty));

            var vbe    = builder.AddProject(project.Build()).Build().Object;
            var parser = MockParser.Create(vbe);

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

            var component           = project.MockComponents.Single(f => f.Object.Name == "TestModule1").Object;
            var qualifiedModuleName = new QualifiedModuleName(component);

            var initMethods = qualifiedModuleName.FindModuleInitializeMethods(parser.State);

            Assert.IsFalse(initMethods.Any());
        }