public async Task BuildStack_NewScreenShare_ReturnScreen()
        {
            // arrange
            var provider = new AutonomousSceneProvider();
            var context  = new SceneBuilderContext(ConferenceId, RoomId, new[] { new ScreenShareScene("p1") },
                                                   new SceneOptions(), ImmutableList <IScene> .Empty);

            // act
            var availableScenes = await provider.BuildStack(AutonomousScene.Instance, context, _emptyStackFunc);

            // assert
            Assert.Equal(availableScenes, new IScene[] { AutonomousScene.Instance, new ScreenShareScene("p1") });
        }
        public async Task BuildStack_NoScreenShareScenes_ReturnDefault()
        {
            // arrange
            var provider = new AutonomousSceneProvider();
            var context  = new SceneBuilderContext(ConferenceId, RoomId, ImmutableList <IScene> .Empty,
                                                   new SceneOptions {
                DefaultScene = SceneOptions.BasicSceneType.Grid
            }, ImmutableList <IScene> .Empty);

            // act
            var availableScenes = await provider.BuildStack(AutonomousScene.Instance, context, _emptyStackFunc);

            // assert
            Assert.Equal(availableScenes, new IScene[] { AutonomousScene.Instance, GridScene.Instance });
        }