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); }
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); }
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")); }
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")); }
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); }