public void CorrectMultipleBoostTestDiscovererDispatchingNoExternal()
        {
            var sources = new[]
            {
                "ListContentSupport" + BoostTestDiscoverer.ExeExtension,
                "ParseSources1" + BoostTestDiscoverer.ExeExtension,
                "ParseSources2" + BoostTestDiscoverer.ExeExtension,
                "DllProject1" + BoostTestDiscoverer.DllExtension,
                "DllProject2" + BoostTestDiscoverer.DllExtension,
            };

            var stubListContentHelper = new StubListContentHelper();
            var boostTestDiscovererFactory = new BoostTestDiscovererFactory(stubListContentHelper);

            var results = boostTestDiscovererFactory.GetDiscoverers(sources, CreateAdapterSettings());

            Assert.That(results.Count(), Is.EqualTo(2));
            Assert.That(results.FirstOrDefault(x => x.Discoverer is ListContentDiscoverer), Is.Not.Null);
            var lcd = results.First(x => x.Discoverer is ListContentDiscoverer);
            Assert.That(lcd.Sources, Is.EqualTo(new[] { "ListContentSupport" + BoostTestDiscoverer.ExeExtension }));

            Assert.That(results.FirstOrDefault(x => x.Discoverer is SourceCodeDiscoverer), Is.Not.Null);
            var scd = results.First(x => x.Discoverer is SourceCodeDiscoverer);
            Assert.That(scd.Sources, Is.EqualTo(new[] { "ParseSources1" + BoostTestDiscoverer.ExeExtension,
                "ParseSources2" + BoostTestDiscoverer.ExeExtension }));

            Assert.That(results.FirstOrDefault(x => x.Sources.Contains("DllProject1" + BoostTestDiscoverer.DllExtension)), Is.Null);
            Assert.That(results.FirstOrDefault(x => x.Sources.Contains("DllProject2" + BoostTestDiscoverer.DllExtension)), Is.Null);

        }
Example #2
0
        /// <summary>
        /// Default constructor
        /// </summary>
        public BoostTestExecutor()
        {
            _testRunnerFactory          = new DefaultBoostTestRunnerFactory();
            _boostTestDiscovererFactory = new BoostTestDiscovererFactory(_testRunnerFactory);
            _vsProvider = new DefaultVisualStudioInstanceProvider();

            _cancelled = false;
        }
        public void CorrectMultipleBoostTestDiscovererDispatchingWithExternalDll()
        {
            var sources = new[]
            {
                "ListContentSupport" + BoostTestDiscoverer.ExeExtension,
                "ParseSources1" + BoostTestDiscoverer.ExeExtension,
                "ParseSources2" + BoostTestDiscoverer.ExeExtension,
                "DllProject1" + BoostTestDiscoverer.DllExtension,
                "DllProject2" + BoostTestDiscoverer.DllExtension,
            };

            var stubListContentHelper = new StubListContentHelper();
            var boostTestDiscovererFactory = new BoostTestDiscovererFactory(stubListContentHelper);

            BoostTestAdapterSettings settings = CreateAdapterSettings();
            settings.ExternalTestRunner = new ExternalBoostTestRunnerSettings
            {
                ExtensionType = BoostTestDiscoverer.DllExtension
            };

            var results = boostTestDiscovererFactory.GetDiscoverers(sources, settings);

            Assert.That(results.Count(), Is.EqualTo(3));
            Assert.That(results.FirstOrDefault(x => x.Discoverer is ListContentDiscoverer), Is.Not.Null);
            var lcd = results.First(x => x.Discoverer is ListContentDiscoverer);
            Assert.That(lcd.Sources, Is.EqualTo(new[] { "ListContentSupport" + BoostTestDiscoverer.ExeExtension }));

            Assert.That(results.FirstOrDefault(x => x.Discoverer is SourceCodeDiscoverer), Is.Not.Null);
            var scd = results.First(x => x.Discoverer is SourceCodeDiscoverer);
            Assert.That(scd.Sources, Is.EqualTo(new[] { "ParseSources1" + BoostTestDiscoverer.ExeExtension,
                "ParseSources2" + BoostTestDiscoverer.ExeExtension }));

            Assert.That(results.FirstOrDefault(x => x.Discoverer is ExternalDiscoverer), Is.Not.Null);
            var exd = results.First(x => x.Discoverer is ExternalDiscoverer);
            Assert.That(exd.Sources, Is.EqualTo(new[] { "DllProject1" + BoostTestDiscoverer.DllExtension,
                "DllProject2" + BoostTestDiscoverer.DllExtension }));
        }
        public void CorrectSingleProjectBoostTestDiscovererDispatchingExternalDll()
        {
            var stubListContentHelper = new StubListContentHelper();
            var boostTestDiscovererFactory = new BoostTestDiscovererFactory(stubListContentHelper);
            BoostTestAdapterSettings settings = CreateAdapterSettings();
            settings.ExternalTestRunner = new ExternalBoostTestRunnerSettings
            {
                ExtensionType = BoostTestDiscoverer.DllExtension
            };

            // source that supports --list-content parameter
            var source = "ListContentSupport" + BoostTestDiscoverer.ExeExtension;
            var discoverer = boostTestDiscovererFactory.GetDiscoverer(source, settings);

            Assert.That(discoverer, Is.Not.Null);
            Assert.That(discoverer, Is.AssignableFrom(typeof(ListContentDiscoverer)));

            // source that NOT supports --list-content parameter
            source = "ParseSources" + BoostTestDiscoverer.ExeExtension;
            discoverer = boostTestDiscovererFactory.GetDiscoverer(source, settings);

            Assert.That(discoverer, Is.Not.Null);
            Assert.That(discoverer, Is.AssignableFrom(typeof(SourceCodeDiscoverer)));

            // source dll project
            source = "DllProject" + BoostTestDiscoverer.DllExtension;
            discoverer = boostTestDiscovererFactory.GetDiscoverer(source, settings);

            Assert.That(discoverer, Is.Not.Null);
            Assert.That(discoverer, Is.AssignableFrom(typeof(ExternalDiscoverer)));

        }