[Test] public void SwitchToDuringUpdate() { // Set up some objects Scene scene = new Scene(); Scene scene2 = new Scene(); // Switch to the first Scene regularly { Scene.SwitchTo(scene); Assert.AreEqual(Scene.Current, scene); } // Switch to the second during update { GameObject obj = new GameObject("SwitchObject"); var switchComponent = new UpdateSwitchToSceneComponent { Target = scene2 }; obj.AddComponent(switchComponent); scene.AddObject(obj); DualityApp.Update(); Assert.False(switchComponent.Switched); Assert.AreEqual(Scene.Current, scene2); Scene.SwitchTo(scene); Assert.AreEqual(Scene.Current, scene); } // Clean up scene.Dispose(); scene2.Dispose(); }
[Test] public void SwitchToDuringUpdate() { // Set up some objects Scene scene = new Scene(); Scene scene2 = new Scene(); // Switch to the first Scene regularly { Scene.SwitchTo(scene); Assert.AreEqual(Scene.Current, scene); } // Switch to the second during update { GameObject obj = new GameObject("SwitchObject"); var switchComponent = new UpdateSwitchToSceneComponent { Target = scene2 }; obj.AddComponent(switchComponent); scene.AddObject(obj); DualityApp.Update(); Assert.False(switchComponent.Switched); Assert.AreEqual(Scene.Current, scene2); Scene.SwitchTo(scene); Assert.AreEqual(Scene.Current, scene); } // Clean up scene.Dispose(); scene2.Dispose(); }