Beispiel #1
0
        public void CallsLoadEmptyLevelWhenNotLoaded()
        {
            var stubLevelLoader = MockRepository.GenerateStub<ILevelLoader>();
            Level level = new Level(stubLevelLoader);
            Assert.IsFalse(level.Loaded);

            level.Load();

            Assert.IsTrue(level.Loaded);
            stubLevelLoader.AssertWasCalled(x => x.LoadEmptyLevel(Arg<List<LevelPiece>>.Is.Equal(level.Pieces), Arg<int>.Is.Equal(800), Arg<int>.Is.Equal(600)));
        }
Beispiel #2
0
        public void UsesCameraCorrectly()
        {
            Level level = new Level(null);
            level.Pieces.Add(LevelPieceHelper.MakeLevelPiece(new Vector2(1, 1), new Vector2(100, 100)));
            var stubSpriteBatch = MockRepository.GenerateStub<ISpriteBatch>();
            var stubTexture = MockRepository.GenerateStub<ITexture>();
            Camera camera = new Camera(MockRepository.GenerateStub<IPlayer>(), new Vector2(100, 200));
            LevelView levelView = new LevelView(level, stubSpriteBatch, stubTexture, camera);

            levelView.Generate(1f);

            stubSpriteBatch.AssertWasCalled(x => x.Begin(camera.TranslationMatrix));
        }
        public void ProcessOnUnloadedLevelLoadsEmptyLevel()
        {
            var stubLevelLoader = MockRepository.GenerateStub<ILevelLoader>();
            Level level = new Level(stubLevelLoader);

            Assert.IsFalse(level.Loaded);

            LevelController levelController = new LevelController(level);

            levelController.Process(1);

            Assert.IsTrue(level.Loaded);
            stubLevelLoader.AssertWasCalled(x => x.LoadEmptyLevel(Arg<List<LevelPiece>>.Is.Equal(level.Pieces), Arg<int>.Is.Anything, Arg<int>.Is.Anything));
        }
Beispiel #4
0
        public void GenerateDrawsLevelPieceWithCorrectParameters()
        {
            Level level = new Level(null);
            level.Pieces.Add(LevelPieceHelper.MakeLevelPiece(new Vector2(1, 1), new Vector2(100, 100)));
            var stubSpriteBatch = MockRepository.GenerateStub<ISpriteBatch>();
            var stubTexture = MockRepository.GenerateStub<ITexture>();
            LevelView levelView = new LevelView(level, stubSpriteBatch, stubTexture, MockRepository.GenerateStub<ICamera>());

            levelView.Generate(1f);

            stubSpriteBatch.AssertWasCalled(x => x.Draw(Arg<ITexture>.Is.Equal(stubTexture), Arg<Vector2>.Is.Equal(new Vector2(-49, -49)),
                Arg<Rectangle>.Is.Equal(null), Arg<Color>.Is.Equal(level.Pieces[0].Color), Arg<float>.Is.Equal(0f), 
                Arg<Vector2>.Is.Equal(Vector2.Zero),
                Arg<Vector2>.Is.Equal(new Vector2(100, 100)), Arg<SpriteEffects>.Is.Equal(SpriteEffects.None), Arg<float>.Is.Equal(0f)));
            stubSpriteBatch.AssertWasCalled(x => x.End());
        }
Beispiel #5
0
        public void GenerateDrawsEachLevelPiece()
        {
            Level level = new Level(null);
            level.Pieces.Add(LevelPieceHelper.MakeLevelPiece(new Vector2(1, 1), new Vector2(100, 100)));
            level.Pieces.Add(LevelPieceHelper.MakeLevelPiece(new Vector2(2, 2), new Vector2(50, 50)));
            var stubSpriteBatch = MockRepository.GenerateStub<ISpriteBatch>();
            var stubTexture = MockRepository.GenerateStub<ITexture>();
            LevelView levelView = new LevelView(level, stubSpriteBatch, stubTexture, MockRepository.GenerateStub<ICamera>());

            levelView.Generate(1f);

            stubSpriteBatch.AssertWasCalled(x => x.Draw(Arg<ITexture>.Is.Anything, Arg<Vector2>.Is.Equal(new Vector2(-49, -49)),
                Arg<Rectangle>.Is.Anything, Arg<Color>.Is.Anything, Arg<float>.Is.Anything, Arg<Vector2>.Is.Anything,
                Arg<Vector2>.Is.Anything, Arg<SpriteEffects>.Is.Anything, Arg<float>.Is.Anything));
            stubSpriteBatch.AssertWasCalled(x => x.Draw(Arg<ITexture>.Is.Anything, Arg<Vector2>.Is.Equal(new Vector2(-23, -23)),
                Arg<Rectangle>.Is.Anything, Arg<Color>.Is.Anything, Arg<float>.Is.Anything, Arg<Vector2>.Is.Anything,
                Arg<Vector2>.Is.Anything, Arg<SpriteEffects>.Is.Anything, Arg<float>.Is.Anything));
            stubSpriteBatch.AssertWasCalled(x => x.End());
        }
Beispiel #6
0
        public void HasACollectionOfLevelPieces()
        {
            Level level = new Level(null);

            Assert.AreEqual(0, level.Pieces.Count);
        }