logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class ProjectPipelineProfileFactoryTests

    EditMode tests for Serenity.CreateGame.Infrastructure.Editor.Wiring.ProjectPipelineProfileFactory. Creating a profile now adopts the shipped canonical one (Serenity.CreateGame.Infrastructure.Editor.Wiring.ProjectPipelineAdoption), which clones into Serenity.CreateGame.Infrastructure.Editor.Wiring.ProjectPipelineAdoption.AdoptionOutputRoot before the adopted profile itself is moved to Serenity.CreateGame.Infrastructure.Editor.Wiring.ProjectPipelineProfileFactory.ProjectProfileFolder — so every test here redirects BOTH seams to the same disposable scratch root via Serenity.CreateGame.Infrastructure.Editor.Wiring.ProjectPipelineProfileFactory.SetProjectProfileFolderOverrideForTests(System.String) and Serenity.CreateGame.Infrastructure.Editor.Wiring.ProjectPipelineAdoption.SetAdoptionOutputRootOverrideForTests(System.String) before running and restores them in TearDown() — the real project's own DefaultOutputFolder and Serenity.Global.Infrastructure.Editor.SerenityUserContentPaths.GameRoot are never touched.

    Inheritance
    object
    ProjectPipelineProfileFactoryTests
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.CreateGame.Tests.Editor
    Assembly: Serenity.CreateGame.Tests.Editor.dll
    Syntax
    public class ProjectPipelineProfileFactoryTests

    Constructors

    ProjectPipelineProfileFactoryTests()

    Declaration
    public ProjectPipelineProfileFactoryTests()

    Methods

    OneTimeTearDown()

    Declaration
    public void OneTimeTearDown()

    ProjectProfileFolder_WithoutOverride_IsTheCreatorsDefaultFolder()

    Declaration
    public void ProjectProfileFolder_WithoutOverride_IsTheCreatorsDefaultFolder()

    ProjectProfileFolder_WithoutOverride_MatchesTheWizardNoticesDuplicatedDefault()

    Serenity.Global.Infrastructure.Editor.InitializationPipeline.NoProjectProfileNoticeGui.DefaultProjectPipelineOutputFolder duplicates this factory's default on purpose (the Global editor assembly cannot reference the CreateGame editor assembly this factory lives in) — this test is the guard against the two drifting apart.

    Declaration
    public void ProjectProfileFolder_WithoutOverride_MatchesTheWizardNoticesDuplicatedDefault()

    SetProjectProfileFolderOverrideForTests_RedirectsCreation()

    Declaration
    public void SetProjectProfileFolderOverrideForTests_RedirectsCreation()

    SetUp()

    Declaration
    public void SetUp()

    TearDown()

    Declaration
    public void TearDown()

    TryCreateFromShipped_AdoptedProfile_IsNamedAfterProfileIdAndCarriesItsId()

    Declaration
    public void TryCreateFromShipped_AdoptedProfile_IsNamedAfterProfileIdAndCarriesItsId()

    TryCreateFromShipped_BlankProfileId_FailsWithAnErrorAndCreatesNothing()

    Declaration
    public void TryCreateFromShipped_BlankProfileId_FailsWithAnErrorAndCreatesNothing()

    TryCreateFromShipped_CalledTwice_SecondCallReusesWithoutCreatingASecondAsset()

    Declaration
    public void TryCreateFromShipped_CalledTwice_SecondCallReusesWithoutCreatingASecondAsset()

    TryCreateFromShipped_CutscenePlayerSelected_AdoptsTheSplashTasksAndRePointsTheirCutsceneArguments()

    The seed profile is the FULL shipped one, so a project that selected the Cutscene Player gets the Serenity splash — as ITS OWN content: the three splash tasks land under the adoption output root, and each one's opaque Guid argument points at the cutscene clone beside them, never at the package's own splash cutscene.

    Declaration
    public void TryCreateFromShipped_CutscenePlayerSelected_AdoptsTheSplashTasksAndRePointsTheirCutsceneArguments()

    TryCreateFromShipped_NoSelection_CreatesAProfileWithInfrastructureTasksOnly()

    Declaration
    public void TryCreateFromShipped_NoSelection_CreatesAProfileWithInfrastructureTasksOnly()

    TryCreateFromShipped_RegistersTheProfileAsAddressable()

    Declaration
    public void TryCreateFromShipped_RegistersTheProfileAsAddressable()

    TryCreateFromShipped_TaskList_LivesUnderTheAdoptionOutputRootsMediaGlobalTasksFolder()

    Declaration
    public void TryCreateFromShipped_TaskList_LivesUnderTheAdoptionOutputRootsMediaGlobalTasksFolder()

    TryCreateFromShipped_TwoSystemsOutOfCanonicalOrder_ProfileTaskOrderIsCanonical()

    Declaration
    public void TryCreateFromShipped_TwoSystemsOutOfCanonicalOrder_ProfileTaskOrderIsCanonical()
    In this article
    © 2026 Serenity. All Rights Reserved