예제 #1
0
            public void When_MoveDisksOverEachOtherTwice_ThenGameIsFinished()
            {
                // this is a solution for 2 disks
                var game = new Game(2);

                game.Start();

                game.Tower1.Disks.Count.Should().Be(0);
                game.Tower2.Disks.Count.Should().Be(0);
                game.Tower3.Disks.Count.Should().Be(2);

                game.IsFinished.Should().Be(true);
            }
예제 #2
0
            public void WhenTowerAHasThreeDisks_TowerCShouldHaveThreeDisks()
            {
                var game = new Game(3);

                game.Start();

                game.Tower1.Disks.Count.Should().Be(0);
                game.Tower2.Disks.Count.Should().Be(0);
                game.Tower3.Disks.Count.Should().Be(3);

                game.IsFinished.Should().Be(true);
                game.IsValid.Should().Be(true);
            }
예제 #3
0
            public void WhenTowerAHasTwoDisks_TowerCShouldHaveTwoDisks()
            {
                var game = new Game(2);

                game.Start();

                game.Tower1.Disks.Count.Should().Be(0);
                game.Tower2.Disks.Count.Should().Be(0);
                game.Tower3.Disks.Count.Should().Be(2);
            }
예제 #4
0
            public void WhenGameStarts_ItShouldMoveDiskFromTower1ToTower3()
            {
                var game = new Game(1);

                game.Start();

                game.Tower1.Disks.Count.Should().Be(0);
                game.Tower2.Disks.Count.Should().Be(0);
                game.Tower3.Disks.Count.Should().Be(1);
            }