public void OpponentGetHitInAnEncounter_OnAttack()
        {
            // Arrange
            var opponent = new SpaceShipSpy();
            var player = SpaceShipWithTwoFunctionalWeaponStubs();
            var randomNumberService = AlwaysMaxRandomNumber();
            var encounter = new Encounter(player, opponent, randomNumberService);

            // Act
            encounter.Attack();

            // Assert
            Assert.That(opponent.HitsCount, Is.EqualTo(2));
        }
        public void OpponentGetsNoHitsInEncounter_OnAttack()
        {
            // Arrange

            int hitCount = 0;
            var opponent = Substitute.For<ISpaceShip>();
            opponent.AcceptIncomingShots (Arg.Do<IEnumerable<Shot>>(x => hitCount+=x.Count()) );

            var player = SpaceShipWithTwoFunctionalWeaponStubs();
            var randomNumberService = AlwaysMinRandomNumber();
            var encounter = new Encounter(player, opponent, randomNumberService);

            // Act
            encounter.Attack();

            // Assert
            Assert.That(hitCount,Is.EqualTo(0));
        }