public void OnStart() { #region arrange var gameLogicHandler = Substitute.For <ILogicHandler>(); var gameEngineInterface = Substitute.For <IGameEngineInterface>(); var winTransitionSound = Substitute.For <IGameObject>(); gameEngineInterface.FindGameObject("WinTransitionSound").Returns(winTransitionSound); var audioSourceWinTransition = Substitute.For <IAudioSource>(); winTransitionSound.GetComponent <IAudioSource>().Returns(audioSourceWinTransition); var dataLayer = Substitute.For <IDataLayer>(); var winTransitionLogicProvider = new WinTransitionLogicProvider(gameLogicHandler, gameEngineInterface, dataLayer); #endregion #region act winTransitionLogicProvider.OnStart(); #endregion #region assert var privateAudioSource = GetPrivateMember <IAudioSource>("_audioSourceWinTransition", winTransitionLogicProvider); Assert.AreEqual(audioSourceWinTransition, privateAudioSource); #endregion }
public void OnActivate() { #region arrange var gameLogicHandler = Substitute.For <ILogicHandler>(); var gameEngineInterface = Substitute.For <IGameEngineInterface>(); var dataLayer = Substitute.For <IDataLayer>(); var winTransitionLogicProvider = new WinTransitionLogicProvider(gameLogicHandler, gameEngineInterface, dataLayer); var audioSourceWinTransition = Substitute.For <IAudioSource>(); SetPrivateMember("_audioSourceWinTransition", winTransitionLogicProvider, audioSourceWinTransition); #endregion #region act winTransitionLogicProvider.OnActivate(); #endregion #region assert audioSourceWinTransition.Received().Play(); #endregion }
public void UpdateGameObjects_NotPlaying() { #region arrange var gameLogicHandler = Substitute.For <ILogicHandler>(); var gameEngineInterface = Substitute.For <IGameEngineInterface>(); var dataLayer = Substitute.For <IDataLayer>(); var winTransitionLogicProvider = new WinTransitionLogicProvider(gameLogicHandler, gameEngineInterface, dataLayer); var audioSourceWinTransition = Substitute.For <IAudioSource>(); audioSourceWinTransition.IsPlaying.Returns(false); SetPrivateMember("_audioSourceWinTransition", winTransitionLogicProvider, audioSourceWinTransition); #endregion #region act winTransitionLogicProvider.UpdateGameObjects(); #endregion #region assert gameLogicHandler.Received().SetSceneState((int)GameState.Win); #endregion }