Beispiel #1
0
        public void Tick_Should_Call_Scene_MoveDown()
        {
            var scene = A.Fake <IScene>();
            var randomFigureSelector = A.Fake <IRandomFigureSelector>();
            var game = new Game(scene, randomFigureSelector);

            game.Tick();
            A.CallTo(() => scene.MoveDown()).MustHaveHappened();
        }
Beispiel #2
0
        public void Tick_When_MoveDown_Is_Not_Possible_Should_Print()
        {
            var scene = A.Fake <IScene>();
            var randomFigureSelector = A.Fake <IRandomFigureSelector>();
            var game = new Game(scene, randomFigureSelector);

            A.CallTo(() => scene.MoveDown()).Returns(false);
            game.Tick();
            A.CallTo(() => scene.Print()).MustHaveHappened();
        }
Beispiel #3
0
        public void Tick_When_Print_Should_EraseFullLines()
        {
            var scene = A.Fake <IScene>();
            var randomFigureSelector = A.Fake <IRandomFigureSelector>();
            var game = new Game(scene, randomFigureSelector);

            A.CallTo(() => scene.MoveDown()).Returns(false);
            game.Tick();
            A.CallTo(() => scene.EraseFullLines()).MustHaveHappened();
        }
Beispiel #4
0
        public void Tick_When_Print_Should_Increment_Score()
        {
            var scene = A.Fake <IScene>();
            var randomFigureSelector = A.Fake <IRandomFigureSelector>();
            var game = new Game(scene, randomFigureSelector);

            A.CallTo(() => scene.MoveDown()).Returns(false);
            game.Score = 100;
            game.Tick();
            game.Score.Should().Be(101);
        }
Beispiel #5
0
 public void SetLevel_When_Score_Is_Enough_Should_Set_Level_And_SpeedInSeconds()
 {
     var scene = A.Fake<IScene>();
     var dummyFigure = A.Dummy<IFigure>();
     var randomFigureSelector = A.Fake<IRandomFigureSelector>();
     var game = new Game(scene, randomFigureSelector);
     game.Level=1;
     game.Score = 101;
     game.Tick();
     game.Level.Should().Be(2);
     game.SpeedInSeconds.Should().Be(0.4);
 }
Beispiel #6
0
        public void SetLevel_When_Score_Is_Enough_Should_Set_Level_And_SpeedInSeconds()
        {
            var scene                = A.Fake <IScene>();
            var dummyFigure          = A.Dummy <IFigure>();
            var randomFigureSelector = A.Fake <IRandomFigureSelector>();
            var game = new Game(scene, randomFigureSelector);

            game.Level = 1;
            game.Score = 101;
            game.Tick();
            game.Level.Should().Be(2);
            game.SpeedInSeconds.Should().Be(0.4);
        }
Beispiel #7
0
        public void Tick_Should_Set_NextFigure()
        {
            var scene                = A.Fake <IScene>();
            var dummyFigure          = A.Dummy <IFigure>();
            var nextDummyFigure      = A.Dummy <IFigure>();
            var randomFigureSelector = A.Fake <IRandomFigureSelector>();
            var game = new Game(scene, randomFigureSelector);

            game.NextFigure = dummyFigure;
            A.CallTo(() => randomFigureSelector.RandomFigure()).Returns(nextDummyFigure);
            game.Tick();
            A.CallTo(() => scene.NextFigure(dummyFigure)).MustHaveHappened();
            game.NextFigure.Should().Be(nextDummyFigure);
        }
Beispiel #8
0
 public void Tick_Should_Call_SetLevel()
 {
     var scene = A.Fake<IScene>();
     var randomFigureSelector = A.Fake<IRandomFigureSelector>();
     var game = new Game(scene, randomFigureSelector);
     game.Tick();
     A.CallTo(() => game.SetLevel()).MustHaveHappened();
 }
Beispiel #9
0
 public void Tick_When_Print_Should_Increment_Score()
 {
     var scene = A.Fake<IScene>();
     var randomFigureSelector = A.Fake<IRandomFigureSelector>();
     var game = new Game(scene, randomFigureSelector);
     A.CallTo(() => scene.MoveDown()).Returns(false);
     game.Score = 100;
     game.Tick();
     game.Score.Should().Be(101);
 }
Beispiel #10
0
 public void Tick_When_Print_Should_EraseFullLines()
 {
     var scene = A.Fake<IScene>();
     var randomFigureSelector = A.Fake<IRandomFigureSelector>();
     var game = new Game(scene, randomFigureSelector);
     A.CallTo(() => scene.MoveDown()).Returns(false);
     game.Tick();
     A.CallTo(() => scene.EraseFullLines()).MustHaveHappened();
 }
Beispiel #11
0
 public void Tick_When_MoveDown_Is_Not_Possible_Should_Select_NextFigure()
 {
     var scene = A.Fake<IScene>();
     var dummyFigure = A.Dummy<IFigure>();
     var randomFigureSelector = A.Fake<IRandomFigureSelector>();
     var game = new Game(scene, randomFigureSelector);
     game.NextFigure = dummyFigure;
     A.CallTo(() => scene.MoveDown()).Returns(false);
     game.Tick();
     A.CallTo(() => scene.NextFigure(dummyFigure)).MustHaveHappened();
 }
Beispiel #12
0
 public void Tick_Should_Set_NextFigure()
 {
     var scene = A.Fake<IScene>();
     var dummyFigure = A.Dummy<IFigure>();
     var nextDummyFigure = A.Dummy<IFigure>();
     var randomFigureSelector = A.Fake<IRandomFigureSelector>();
     var game = new Game(scene, randomFigureSelector);
     game.NextFigure = dummyFigure;
     A.CallTo(()=> randomFigureSelector.RandomFigure()).Returns(nextDummyFigure);
     game.Tick();
     A.CallTo(()=> scene.NextFigure(dummyFigure)).MustHaveHappened();
     game.NextFigure.Should().Be(nextDummyFigure);
 }