Skip to content

feat(util): add JAction parallel execution and improve test coverage#607

Merged
JasonXuDeveloper merged 5 commits into
masterfrom
feat/jaction-parallel-and-test-coverage
Jan 30, 2026
Merged

feat(util): add JAction parallel execution and improve test coverage#607
JasonXuDeveloper merged 5 commits into
masterfrom
feat/jaction-parallel-and-test-coverage

fix(ui): use LINQ First() instead of array indexing on HashSet

1ed7566
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
GitHub Actions / EditMode Test Results completed Jan 30, 2026 in 0s

✅ EditMode Test Results - 90/90 - Passed in 1.155s

✅ editmode-results.xml - 90/90 - Passed in 1.155s

Details

✅ editmode-results.xml - 90/90 - Passed in 1.155s
  • ✅ JEngine.UI.Tests.MessageBoxTests - 35/35 - Passed in 0.298s
    • ActiveCount_InitiallyZero - Passed in 0.017s
    • CloseAll_AfterMultipleShows_ClearsAll - Passed in 0.084s
    • CloseAll_CanBeCalledMultipleTimes - Passed in 0.003s
    • CloseAll_DoesNotThrowWhenNoActiveBoxes - Passed in 0.003s
    • Dispose_CanBeCalledMultipleTimes - Passed in 0.003s
    • Dispose_ClearsActiveAndPooledCounts - Passed in 0.003s
    • PooledCount_InitiallyZero - Passed in 0.003s
    • Show_BothButtonsNullOrEmpty_DefaultsToOkInHandler - Passed in 0.006s
    • Show_DoesNotAffectActiveCount_WhenNoPrefab - Passed in 0.008s
    • Show_DoesNotAffectActiveCount_WhenUsingTestHandler - Passed in 0.008s
    • Show_DoesNotAffectPooledCount_WhenUsingTestHandler - Passed in 0.008s
    • Show_EmptyNoText_PassesToHandler - Passed in 0.008s
    • Show_EmptyOkText_PassesToHandler - Passed in 0.008s
    • Show_EmptyStrings_HandledGracefully - Passed in 0.007s
    • Show_HandlesNullParameters_WithTestHandler - Passed in 0.008s
    • Show_IncrementsActiveCount_WhenUsingTestHandler - Passed in 0.008s
    • Show_LogsError_WhenNoPrefab - Passed in 0.007s
    • Show_MultipleCalls_AllReturnFalse_WhenNoPrefab - Passed in 0.007s
    • Show_MultipleCalls_AllUseTestHandler - Passed in 0.008s
    • Show_MultipleConcurrent_AllComplete - Passed in 0.007s
    • Show_NullContent_HandledGracefully - Passed in 0.008s
    • Show_NullNoText_PassesToHandler - Passed in 0.008s
    • Show_NullOkText_PassesToHandler - Passed in 0.008s
    • Show_NullTitle_HandledGracefully - Passed in 0.008s
    • Show_PassesCorrectParameters_ToTestHandler - Passed in 0.008s
    • Show_PassesDefaultParameters_WhenNotSpecified - Passed in 0.008s
    • Show_ReturnsFalse_WhenNoPrefab - Passed in 0.007s
    • Show_ReturnsFalse_WhenTestHandlerReturnsFalse - Passed in 0.007s
    • Show_ReturnsTrue_WhenTestHandlerReturnsTrue - Passed in 0.008s
    • Show_UsesTestHandler_WhenSet - Passed in 0.008s
    • TestGetButtonVisibility_ReturnsNull_WhenNoActiveBoxes - Passed in 0.003s
    • TestGetContent_ReturnsNull_WhenNoActiveBoxes - Passed in 0.003s
    • TestGetPoolState_AfterDispose_ReturnsZero - Passed in 0.003s
    • TestGetPoolState_ReturnsCorrectInitialState - Passed in 0.003s
    • TestSimulateButtonClick_ReturnsFalse_WhenNoActiveBoxes - Passed in 0.003s
  • ✅ JEngine.Util.Tests.JActionTests - 42/42 - Passed in 0.726s
    • Cancel_InvokesOnCancelCallback_WhenTimeoutExceeded - Passed in 0.020s
    • Cancel_NotExecuting_DoesNothing - Passed in 0.005s
    • Cancel_WithState_PassesStateToCallback - Passed in 0.015s
    • ComplexChain_ExecutesInOrder - Passed in 0.016s
    • ComplexChain_MixedStaticAndState_WorksCorrectly - Passed in 0.015s
    • ComplexChain_WithState_PassesCorrectState - Passed in 0.004s
    • Create_AfterDispose_ReusesInstance - Passed in 0.004s
    • Create_ReturnsNonNullInstance - Passed in 0.007s
    • Delay_NegativeValue_SkipsDelay - Passed in 0.004s
    • Delay_ZeroValue_SkipsDelay - Passed in 0.004s
    • DelayFrame_NegativeValue_SkipsDelay - Passed in 0.004s
    • DelayFrame_ZeroValue_SkipsDelay - Passed in 0.004s
    • Dispose_CanBeCalledMultipleTimes - Passed in 0.004s
    • Dispose_ReturnsToPool - Passed in 0.004s
    • Do_ChainsMultipleActions - Passed in 0.004s
    • Do_ExecutesSynchronousAction - Passed in 0.004s
    • Do_WithBoolState_WorksCorrectly - Passed in 0.005s
    • Do_WithFloatState_WorksCorrectly - Passed in 0.005s
    • Do_WithIntState_WorksCorrectly - Passed in 0.004s
    • Do_WithReferenceState_PassesStateToAction - Passed in 0.004s
    • Do_WithState_PassesStateToAction - Passed in 0.004s
    • Execute_EmptyAction_CompletesImmediately - Passed in 0.004s
    • Execute_WithNullAction_SkipsGracefully - Passed in 0.004s
    • Execute_WithoutTimeout_NoPreemption - Passed in 0.054s
    • Execute_WithTimeout_CancelsWhenExceeded - Passed in 0.054s
    • Execute_WithTimeout_CompletesIfFastEnough - Passed in 0.014s
    • Repeat_ExecutesActionMultipleTimes - Passed in 0.003s
    • Repeat_WithState_PassesStateEachTime - Passed in 0.004s
    • RepeatUntil_TimeoutStopsRepeating - Passed in 0.110s
    • RepeatUntil_WithState_PassesStateToActionAndCondition - Passed in 0.004s
    • RepeatWhile_TimeoutStopsRepeating - Passed in 0.104s
    • RepeatWhile_WithState_PassesStateToActionAndCondition - Passed in 0.003s
    • Reset_AllowsReuse - Passed in 0.003s
    • Reset_ClearsAllTasks - Passed in 0.003s
    • Reset_ClearsParallelMode - Passed in 0.003s
    • Reset_ClearsTasks - Passed in 0.003s
    • TaskCapacity_ThrowsWhenExceeded - Passed in 0.004s
    • Using_AutoDisposesAction - Passed in 0.003s
    • WaitUntil_TimeoutStopsWaiting - Passed in 0.103s
    • WaitUntil_WithState_PassesStateToCondition - Passed in 0.003s
    • WaitWhile_TimeoutStopsWaiting - Passed in 0.103s
    • WaitWhile_WithState_PassesStateToCondition - Passed in 0.003s
  • ✅ JEngine.Util.Tests.JObjectPoolTests - 13/13 - Passed in 0.035s
    • Clear_RemovesAllItems - Passed in 0.003s
    • Constructor_WithDefaultMaxSize_Uses64 - Passed in 0.003s
    • Count_ReflectsPoolState - Passed in 0.003s
    • OnRent_CallbackInvoked - Passed in 0.003s
    • OnReturn_CallbackInvoked - Passed in 0.003s
    • Prewarm_CreatesSpecifiedCount - Passed in 0.003s
    • Prewarm_RespectsMaxSize - Passed in 0.003s
    • Rent_CreatesNewInstance_WhenPoolEmpty - Passed in 0.003s
    • Rent_ReusesPooledInstance - Passed in 0.003s
    • Return_DiscardsWhenAtCapacity - Passed in 0.003s
    • Return_IgnoresNull - Passed in 0.003s
    • Shared_IsolatesBetweenTypes - Passed in 0.003s
    • Shared_ReturnsSameInstanceForType - Passed in 0.003s