Exemple #1
0
        public async Task A_package_is_not_initialized_more_than_once()
        {
            var initializer = new TestPackageInitializer(
                "console",
                "MyProject");

            var package = Create.EmptyWorkspace(initializer: initializer);

            await package.CreateRoslynWorkspaceForRunAsync(new TimeBudget(30.Seconds()));

            await package.CreateRoslynWorkspaceForRunAsync(new TimeBudget(30.Seconds()));

            initializer.InitializeCount.Should().Be(1);
        }
Exemple #2
0
        public async Task A_package_copy_is_not_reinitialized_if_the_source_was_already_initialized()
        {
            var initializer = new TestPackageInitializer(
                "console",
                "MyProject");

            var original = Create.EmptyWorkspace(initializer: initializer);

            await original.CreateRoslynWorkspaceForLanguageServicesAsync(new TimeBudget(30.Seconds()));

            var copy = await PackageUtilities.Copy(original);

            await copy.CreateRoslynWorkspaceForLanguageServicesAsync(new TimeBudget(30.Seconds()));

            initializer.InitializeCount.Should().Be(1);
        }
Exemple #3
0
        public async Task When_package_contains_simple_console_app_then_entry_point_dll_is_in_the_build_directory()
        {
            var package = Create.EmptyWorkspace(initializer: new PackageInitializer("console", "empty"));

            await package.CreateRoslynWorkspaceForRunAsync(new TimeBudget(30.Seconds()));

            package.EntryPointAssemblyPath.Exists.Should().BeTrue();

            package.EntryPointAssemblyPath
            .FullName
            .Should()
            .Be(Path.Combine(
                    package.Directory.FullName,
                    "bin",
                    "Debug",
                    package.TargetFramework,
                    "empty.dll"));
        }
Exemple #4
0
        public async Task When_package_contains_aspnet_project_then_entry_point_dll_is_in_the_publish_directory()
        {
            var package = Create.EmptyWorkspace(initializer: new PackageInitializer("webapi", "aspnet.webapi"));

            await package.CreateRoslynWorkspaceForRunAsync(new TimeBudget(30.Seconds()));

            package.EntryPointAssemblyPath.Exists.Should().BeTrue();

            package.EntryPointAssemblyPath
            .FullName
            .Should()
            .Be(Path.Combine(
                    package.Directory.FullName,
                    "bin",
                    "Debug",
                    package.TargetFramework,
                    "publish",
                    "aspnet.webapi.dll"));
        }
Exemple #5
0
        public async Task Package_after_create_actions_are_not_run_more_than_once()
        {
            var afterCreateCallCount = 0;

            var initializer = new PackageInitializer(
                "console",
                "test",
                afterCreate: async(_, __) =>
            {
                await Task.Yield();
                afterCreateCallCount++;
            });

            var package = Create.EmptyWorkspace(initializer: initializer);

            await package.CreateRoslynWorkspaceForRunAsync(new TimeBudget(30.Seconds()));

            await package.CreateRoslynWorkspaceForRunAsync(new TimeBudget(30.Seconds()));

            afterCreateCallCount.Should().Be(1);
        }