@Test
    void verifyOperation() {
        val plan = new DefaultCasWebflowExecutionPlan(applicationContext);

        val p1 = mock(CasWebflowLoginContextProvider.class);
        when(p1.getOrder()).thenReturn(1);
        when(p1.getName()).thenReturn("P1");
        plan.registerWebflowLoginContextProvider(p1);

        val p2 = mock(CasWebflowLoginContextProvider.class);
        when(p2.getOrder()).thenReturn(0);
        when(p2.getName()).thenReturn("P2");
        plan.registerWebflowLoginContextProvider(p2);

        plan.registerWebflowConfigurer(mock(CasWebflowConfigurer.class));
        assertDoesNotThrow(plan::execute);
        assertEquals(2, plan.getWebflowLoginContextProviders().size());
        assertEquals(1, plan.getWebflowConfigurers().size());
        assertEquals("P2", plan.getWebflowLoginContextProviders().getFirst().getName());
        assertEquals("P1", plan.getWebflowLoginContextProviders().get(1).getName());
    }
This is {@link DefaultCasWebflowExecutionPlanTests}.

@author Misagh Moayyed
@since 6.4.0
core/cas-server-core-webflow-api/src/test/java/org/apereo/cas/web/flow/configurer/DefaultCasWebflowExecutionPlanTests.java