@Test public void FireWeapons() {
        ship.setRng(new FixedRandom(0.7));
        assertEquals(0, ship.fireGuns(1));
        
        ship.setRng(new FixedRandom(0.5));
        
        assertEquals(3, ship.fireGuns(1));
        
        ship.setRng(new Random());
        
        int hitCount = 0;
        
        for(int i = 1; i <= 10000; i++) {
            hitCount += ship.fireGuns(1);
        }
        
        assertTrue(hitCount >= 17000 && hitCount <= 19000);
        
        hitCount = 0;
        
        for(int i = 1; i <= 10000; i++) {
            hitCount += ship.fireMissiles(1);
        }
        
        assertTrue(hitCount >= 3000 && hitCount <= 5000);
        
        hitCount = 0;
        
        for(int i = 1; i <= 10000; i++) {
            hitCount += ship.fireLasers(1);
        }
        
        assertTrue(hitCount >= 13000 && hitCount <= 15000);
        
        hitCount = 0;
        
        for(int i = 1; i <= 10000; i++) {
            hitCount += ship.fireWeapons(1);
        }
        
        assertTrue(hitCount >= 33000 && hitCount <= 39000);
    }