public void EachWeaponShoots_WhenSpaceShipShootIsCalled()
        {
            // Arrange
            var weapon1 = Substitute.For<IWeapon>();
            var weapon2 = Substitute.For<IWeapon>();

            var ship = new SpaceShip(2, 0);
            ship.Equip(weapon1);
            ship.Equip(weapon2);

            // Act
            ship.Shoot();

            // Assert
            weapon1.Received(1).Shoot();
            weapon2.Received(1).Shoot();
        }
Пример #2
0
        public void EachWeaponShoots_WhenSpaceShipShootIsCalled()
        {
            // Arrange.
            var weapon1 = Substitute.For <IWeapon>();
            var weapon2 = Substitute.For <IWeapon>();

            var spaceShip = new SpaceShip(2, 0);

            spaceShip.Equip(weapon1);
            spaceShip.Equip(weapon2);

            // Act.
            spaceShip.Shoot();

            // Assert.
            weapon1.Received(1).Shoot();
            weapon2.Received(1).Shoot();
        }
        public void EachWeaponGetsReloaded_AfterItIsShot()
        {
            // Arrange
            var weapon1 = Substitute.For<IWeapon>();
            var weapon2 = Substitute.For<IWeapon>();

            var ship = new SpaceShip(2, 0);
            ship.Equip(weapon1);
            ship.Equip(weapon2);

            // Act
            ship.Shoot();

            // Assert
            Received.InOrder(() =>
                {
                    weapon1.Shoot();
                    weapon2.Shoot();
                    weapon1.Reload();
                    weapon2.Reload();
                }
            );
        }
Пример #4
0
        public void EachWeaponGetsReloaded_AfterItIsShot()
        {
            // Arrange
            var weapon1 = Substitute.For <IWeapon>();
            var weapon2 = Substitute.For <IWeapon>();

            var ship = new SpaceShip(2, 0);

            ship.Equip(weapon1);
            ship.Equip(weapon2);

            // Act
            ship.Shoot();

            // Assert
            Received.InOrder(() =>
            {
                weapon1.Shoot();
                weapon2.Shoot();
                weapon1.Reload();
                weapon2.Reload();
            }
                             );
        }