Пример #1
0
        public void CheckTheSongListInSongScreen()
        {
            using (var gameController = new GtGameControllerDouble(new GtFileLoaderDouble6(), EnumGameScreen.ChooseSong))
            {
                gameController.LoadSongList();

                Assert.AreEqual(6, gameController.SongList.Count);

                Assert.AreEqual("For whom the bell tolls", gameController.SongList[0].Song);
                Assert.AreEqual("Metallica", gameController.SongList[0].Artist);

                Assert.AreEqual("I use to love her", gameController.SongList[1].Song);
                Assert.AreEqual("Guns N'Roses", gameController.SongList[1].Artist);

                Assert.AreEqual("Money for nothing", gameController.SongList[2].Song);
                Assert.AreEqual("Dire Straits", gameController.SongList[2].Artist);

                Assert.AreEqual("Wish you were here", gameController.SongList[3].Song);
                Assert.AreEqual("Pink Floyd", gameController.SongList[3].Artist);

                Assert.AreEqual("Fade to Black", gameController.SongList[4].Song);
                Assert.AreEqual("Metallica", gameController.SongList[4].Artist);

                Assert.AreEqual("Seek & Destroy", gameController.SongList[5].Song);
                Assert.AreEqual("Metallica", gameController.SongList[5].Artist);
            }
        }
Пример #2
0
        public void SelectTheThirdSong_GamePad()
        {
            KeyboardState keyboardState = new KeyboardState();
            GamePadState  gamePadState  = new GamePadState(
                new GamePadThumbSticks(),
                new GamePadTriggers(),
                new GamePadButtons(),
                new GamePadDPad(ButtonState.Released, ButtonState.Pressed, ButtonState.Released, ButtonState.Released));

            var user1ActionListener = new GtUserActionsListener();

            user1ActionListener.Update(keyboardState, gamePadState);

            //this update will be called by the XNA Game class.
            var gameController = new GtGameControllerDouble(new GtFileLoaderDouble6(), EnumGameScreen.ChooseSong);

            gameController.LoadSongList();

            Assert.AreSame(gameController.SongList[0], gameController.SelectedSong);

            gameController.Update(user1ActionListener);
            gameController.Update(user1ActionListener);

            Assert.AreSame(gameController.SongList[2], gameController.SelectedSong);
        }
Пример #3
0
        public void VisibleSongsWindow_LastSelected()
        {
            KeyboardState keyboardState = new KeyboardState(Keys.Down);
            GamePadState  gamePadState  = new GamePadState();

            var user1ActionListener = new GtUserActionsListener();

            user1ActionListener.Update(keyboardState, gamePadState);

            using (var gameController = new GtGameControllerDouble(new GtFileLoaderDouble100(), EnumGameScreen.ChooseSong))
            {
                gameController.LoadSongList();

                for (int i = 0; i < gameController.SongList.Count - 1; i++)
                {
                    gameController.Update(user1ActionListener);
                }

                Assert.AreSame(gameController.SongList[gameController.SongList.Count - 1],
                               gameController.SelectedSong);

                Assert.AreEqual(GtGameController.VISIBLE_SONG_WINDOW_SIZE, gameController.VisibleSongs.Count);

                for (int i = 0; i < GtGameController.VISIBLE_SONG_WINDOW_SIZE; i++)
                {
                    Assert.AreSame(
                        gameController.SongList[
                            gameController.SongList.Count - GtGameController.VISIBLE_SONG_WINDOW_SIZE + i],
                        gameController.VisibleSongs[i]);
                }
            }
        }
Пример #4
0
        public void MainScreen()
        {
            using (var gameController = new GtGameControllerDouble())
            {
                gameController.Update(new GtUserActionsListener());

                Assert.AreEqual(EnumGameScreen.Main, gameController.CurrentScreen);
            }
        }
Пример #5
0
        public void InitiallyTheFirstSongIsSelected()
        {
            using (var gameController = new GtGameControllerDouble(new GtFileLoaderDouble6(), EnumGameScreen.ChooseSong))
            {
                gameController.LoadSongList();

                Assert.AreSame(gameController.SongList[0], gameController.SelectedSong);
            }
        }
Пример #6
0
 public void ConstructorSintaxe()
 {
     using (var gameController = new GtGameControllerDouble())
     {
         Assert.AreEqual(EnumGameScreen.Undefined, gameController.CurrentScreen);
         Assert.IsNotNull(gameController.AudioListener);
         Assert.IsNotNull(gameController.GameRoundController);
         Assert.IsNotNull(gameController.TuneController);
     }
 }
Пример #7
0
        public void VisibleSongsWindow_FirstSelected()
        {
            using (var gameController = new GtGameControllerDouble(new GtFileLoaderDouble100(), EnumGameScreen.ChooseSong))
            {
                gameController.LoadSongList();

                Assert.AreSame(gameController.SongList[0], gameController.SelectedSong);

                Assert.AreEqual(GtGameController.VISIBLE_SONG_WINDOW_SIZE, gameController.VisibleSongs.Count);

                for (int i = 0; i < GtGameController.VISIBLE_SONG_WINDOW_SIZE; i++)
                {
                    Assert.AreSame(gameController.SongList[i], gameController.VisibleSongs[i]);
                }
            }
        }
Пример #8
0
        public void SongDescriptionProperties()
        {
            using (var gameController = new GtGameControllerDouble(new GtFileLoaderDouble6(), EnumGameScreen.ChooseSong))
            {
                gameController.LoadSongList();

                Assert.AreEqual("For whom the bell tolls", gameController.SongList[0].Song);
                Assert.AreEqual("Metallica", gameController.SongList[0].Artist);
                Assert.AreEqual(TestConfig.AudioPath + "metallica-for_whom_the_bell_tolls(linked).song.xml",
                                gameController.SongList[0].ConfigFileName);
                Assert.AreEqual(TestConfig.AudioPath + "metallica-for_whom_the_bell_tolls.mp3",
                                gameController.SongList[0].AudioFileName);
                //Assert.AreEqual(118.4, gameController.SongList[0].TempoBPM);
                Assert.AreEqual(GtTimeSignature.Time4x4, gameController.SongList[0].TimeSignature);
            }
        }
Пример #9
0
        public void NoKeyOrButton_NoScreenChange(EnumGameScreen pGameScreen)
        {
            KeyboardState keyboardState = new KeyboardState();
            GamePadState  gamePadState  = new GamePadState();

            var user1ActionListener = new GtUserActionsListener();

            user1ActionListener.Update(keyboardState, gamePadState);


            using (var gameController = new GtGameControllerDouble(pGameScreen))
            {
                gameController.Update(user1ActionListener);

                Assert.AreEqual(pGameScreen, gameController.CurrentScreen);
            }
        }
Пример #10
0
        public void FinishedToMenu_Keyboard()
        {
            var gameController = new GtGameControllerDouble(new GtFileLoaderDouble6(), EnumGameScreen.PlayingSong);

            gameController.GameRoundController.ForceGameRoundState(EnumGameRoundState.Finished);

            KeyboardState keyboardState = new KeyboardState(Keys.Escape);
            GamePadState  gamePadState  = new GamePadState();

            var user1ActionListener = new GtUserActionsListener();

            user1ActionListener.Update(keyboardState, gamePadState);

            gameController.Update(user1ActionListener);

            Assert.AreEqual(EnumGameScreen.ChooseSong, gameController.CurrentScreen);
        }
Пример #11
0
        public void GoToPlayingSongScreen_NoSelectedSong()
        {
            var gameController = new GtGameControllerDouble(new GtFileLoaderDouble0(), EnumGameScreen.ChooseSong);

            gameController.LoadSongList();

            KeyboardState keyboardState = new KeyboardState(Keys.Enter);
            GamePadState  gamePadState  = new GamePadState();

            var user1ActionListener = new GtUserActionsListener();

            user1ActionListener.Update(keyboardState, gamePadState);

            gameController.Update(user1ActionListener);

            Assert.AreEqual(EnumGameScreen.ChooseSong, gameController.CurrentScreen);
        }
Пример #12
0
        public void MenuSelection_SecondItemIsTune(Keys pKey, EnumMenuScreenItems pCurrentItem, EnumMenuScreenItems pExpectedItem)
        {
            var keyboardState = new KeyboardState(pKey);
            var gamePadState  = new GamePadState();

            var user1ActionListener = new GtUserActionsListener();

            user1ActionListener.Update(keyboardState, gamePadState);

            //this update will be called by the XNA Game class.
            using (var gameController = new GtGameControllerDouble(EnumGameScreen.Menu, pCurrentItem))
            {
                gameController.Update(user1ActionListener);

                Assert.AreEqual(EnumGameScreen.Menu, gameController.CurrentScreen);
                Assert.AreEqual(pExpectedItem, gameController.MenuScreenSelectedItem);
            }
        }
Пример #13
0
        public void MenuSelection_QuickPlayIsTheDefault()
        {
            KeyboardState keyboardState = new KeyboardState(Keys.Enter);
            GamePadState  gamePadState  = new GamePadState();

            var user1ActionListener = new GtUserActionsListener();

            user1ActionListener.Update(keyboardState, gamePadState);

            //this update will be called by the XNA Game class.
            using (var gameController = new GtGameControllerDouble(EnumGameScreen.Main))
            {
                gameController.Update(user1ActionListener);

                Assert.AreEqual(EnumGameScreen.Menu, gameController.CurrentScreen);
                Assert.AreEqual(EnumMenuScreenItems.QuickPlay, gameController.MenuScreenSelectedItem);
            }
        }
Пример #14
0
        public void ScreenChangesUsingKeyboard(EnumGameScreen pCurrentScreen, EnumMenuScreenItems pMenuItem,
                                               Keys pKey, EnumGameScreen pExpectedScreen, EnumMenuScreenItems pExpectedMenuItem)
        {
            KeyboardState keyboardState = new KeyboardState(pKey);
            GamePadState  gamePadState  = new GamePadState();

            var user1ActionListener = new GtUserActionsListener();

            user1ActionListener.Update(keyboardState, gamePadState);

            //this update will be called by the XNA Game class.
            using (var gameController = new GtGameControllerDouble(pCurrentScreen, pMenuItem))
            {
                gameController.Update(user1ActionListener);

                Assert.AreEqual(pExpectedScreen, gameController.CurrentScreen);
                Assert.AreEqual(pExpectedMenuItem, gameController.MenuScreenSelectedItem);
            }
        }
Пример #15
0
        public void EnterKeyIsResetedAfterUsed()
        {
            KeyboardState keyboardState = new KeyboardState(Keys.Enter);
            GamePadState  gamePadState  = new GamePadState();

            var user1ActionListener = new GtUserActionsListener();

            //this update will be called by the XNA Game class.
            var gameController = new GtGameControllerDouble(new GtFileLoaderDouble6(), EnumGameScreen.Main);

            user1ActionListener.Update(keyboardState, gamePadState);
            gameController.Update(user1ActionListener);

            Assert.AreEqual(EnumGameScreen.Menu, gameController.CurrentScreen);

            user1ActionListener.Update(keyboardState, gamePadState);
            gameController.Update(user1ActionListener); //here the Enter must be discarted

            Assert.AreEqual(EnumGameScreen.Menu, gameController.CurrentScreen);
        }
Пример #16
0
        public void GoToPlayingSongScreenForTheSelectedSong_GamePad()
        {
            var gameController = new GtGameControllerDouble(new GtFileLoaderDouble6(), EnumGameScreen.ChooseSong);

            gameController.LoadSongList();

            KeyboardState keyboardState = new KeyboardState();
            GamePadState  gamePadState  = new GamePadState(
                new GamePadThumbSticks(),
                new GamePadTriggers(),
                new GamePadButtons(Buttons.A),
                new GamePadDPad());

            var user1ActionListener = new GtUserActionsListener();

            user1ActionListener.Update(keyboardState, gamePadState);

            gameController.Update(user1ActionListener);

            Assert.AreEqual(EnumGameScreen.PlayingSong, gameController.CurrentScreen);
            Assert.AreEqual(EnumGameRoundState.Playing, gameController.GameRoundController.GameRoundState);
        }
Пример #17
0
        public void SelectTheThirdSong_Keyboard()
        {
            KeyboardState keyboardState = new KeyboardState(Keys.Down);
            GamePadState  gamePadState  = new GamePadState();

            var user1ActionListener = new GtUserActionsListener();

            user1ActionListener.Update(keyboardState, gamePadState);

            //this update will be called by the XNA Game class.
            using (var gameController = new GtGameControllerDouble(new GtFileLoaderDouble6(), EnumGameScreen.ChooseSong))
            {
                gameController.LoadSongList();

                Assert.AreSame(gameController.SongList[0], gameController.SelectedSong);

                gameController.Update(user1ActionListener);
                gameController.Update(user1ActionListener);

                Assert.AreSame(gameController.SongList[2], gameController.SelectedSong);
            }
        }