public static void LifeSpan_Control2() => TestEngineEntryPoint.Start(async screen => { var uiLayer = await new UILayer().Activate(screen); var uiRoot = uiLayer.UIRoot; Assert.Equal(0, uiRoot.Children.Count); var buttons = Enumerable.Range(0, 10).Select(i => new Button()).ToArray(); await UniTask.WhenAll(buttons.Select(async(button, i) => { Assert.Equal(LifeState.New, button.LifeState); await uiRoot.Children.Add(button); Assert.Equal(LifeState.Alive, button.LifeState); }).ToArray()); Assert.True(buttons.All(b => b.LifeState == LifeState.Alive)); Assert.Equal(buttons.Length, uiRoot.Children.Count); await UniTask.WhenAll(buttons.Select(async(button, i) => { Assert.Equal(LifeState.Alive, button.LifeState); await uiRoot.Children.Remove(button); Assert.Equal(LifeState.Dead, button.LifeState); }).ToArray()); Assert.True(buttons.All(b => b.LifeState == LifeState.Dead)); Assert.Equal(0, uiRoot.Children.Count); });
public static void LifeSpan_Control() => TestEngineEntryPoint.Start(async screen => { var uiLayer = await new UILayer().Activate(screen); var uiRoot = uiLayer.UIRoot; Assert.Equal(0, uiRoot.Children.Count); var button = new Button(); Assert.Equal(LifeState.New, button.LifeState); await uiRoot.Children.Add(button); Assert.Equal(LifeState.Alive, button.LifeState); Assert.Equal(1, uiRoot.Children.Count); await uiRoot.Children.Remove(button); Assert.Equal(LifeState.Dead, button.LifeState); Assert.Equal(0, uiRoot.Children.Count); });
public static void LifeSpan_Control_Clear() => TestEngineEntryPoint.Start(async screen => { var uiLayer = await new UILayer().Activate(screen); var uiRoot = uiLayer.UIRoot; Assert.Equal(0, uiRoot.Children.Count); var buttons = Enumerable.Range(0, 10).Select(i => new Button()).ToArray(); foreach (var button in buttons) { await uiRoot.Children.Add(button); } Assert.True(buttons.All(b => b.LifeState == LifeState.Alive)); Assert.Equal(buttons.Length, uiRoot.Children.Count); await uiRoot.Children.Clear(); Assert.Equal(0, uiRoot.Children.Count); Assert.True(buttons.All(b => b.LifeState == LifeState.Dead)); });
public static void StartTest() => TestEngineEntryPoint.Start(screen => UniTask.CompletedTask);