content: /*
   * This file was automatically generated by UTestGen and EvoSuite
   * Thu Mar 21 07:10:13 GMT 2024
   */
  
  package de.outstare.fortbattleplayer.statistics;
  
  import org.junit.jupiter.api.Test;
  import static org.junit.jupiter.api.Assertions.*;
  import org.junit.jupiter.api.Timeout;
  import java.util.concurrent.TimeUnit;
  import static org.evosuite.runtime.EvoAssertions.*;
  import de.outstare.fortbattleplayer.model.Area;
  import de.outstare.fortbattleplayer.model.Combatant;
  import de.outstare.fortbattleplayer.model.CombatantSide;
  import de.outstare.fortbattleplayer.statistics.AreaStatistic;
  import de.outstare.fortbattleplayer.statistics.BattleStatistics;
  import de.outstare.fortbattleplayer.statistics.CriticalHit;
  import de.outstare.fortbattleplayer.statistics.LabeledData;
  import de.outstare.fortbattleplayer.statistics.PositionSwitch;
  import de.outstare.fortbattleplayer.statistics.RoundStatistics;
  import de.outstare.fortbattleplayer.statistics.WeaponModCounter;
  import java.util.HashMap;
  import java.util.Hashtable;
  import java.util.List;
  import java.util.Map;
  import java.util.Set;
  import java.util.concurrent.atomic.AtomicInteger;
  import org.evosuite.runtime.EvoRunner;
  import org.evosuite.runtime.EvoRunnerParameters;
  import org.junit.runner.RunWith;
  
  @RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true) 
  public class BattleStatistics_Original_ESTest extends BattleStatistics_Original_ESTest_scaffolding {
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAddAndResetRoundCounter() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(612, 612);
        HashMap<CombatantSide, AtomicInteger> arg0 = new HashMap<CombatantSide, AtomicInteger>();
        Hashtable<CombatantSide, RoundStatistics> arg1 = new Hashtable<CombatantSide, RoundStatistics>();
        battleStatistics.addAndResetRoundCounter(arg0, arg1);
        assertEquals(0, arg1.size());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testRoundReturningPositive() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(307, 307);
        int round = battleStatistics.round(307);
        assertEquals(307, round);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testRoundReturningNegative() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(4, (-2575));
        int round = battleStatistics.round((-2575));
        assertEquals((-2575), round);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testCountWeaponMods() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics((-190), 124);
        CombatantSide arg0 = CombatantSide.DEFENDER;
        WeaponModCounter.BayonetCounter arg1 = new WeaponModCounter.BayonetCounter();
        int countWeaponMods = battleStatistics.countWeaponMods(arg0, arg1);
        assertEquals(0, countWeaponMods);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testCritListWithNonNull() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(634, 634);
        CombatantSide arg0 = CombatantSide.DEFENDER;
        List<CriticalHit> critList = battleStatistics.critList(arg0);
        assertEquals(0, critList.size());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetNotShootersPerRound() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(131, 131);
        battleStatistics.setRound(2);
        Map<CombatantSide, ? extends LabeledData> notShootersPerRound = battleStatistics.getNotShootersPerRound();
        assertEquals(2, notShootersPerRound.size());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testCritListWithNull() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(2698, 2698);
        List<CriticalHit> critList = battleStatistics.critList((CombatantSide) null);
        assertTrue(critList.isEmpty());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testCriticalHitDamage() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(131, 131);
        CombatantSide arg0 = CombatantSide.DEFENDER;
        long criticalHitDamage = battleStatistics.criticalHitDamage(arg0);
        assertEquals(0L, criticalHitDamage);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testSwitchedPosList() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(1, 553);
        Set<PositionSwitch> switchedPosList = battleStatistics.switchedPosList((CombatantSide) null);
        assertTrue(switchedPosList.isEmpty());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testNumberOfMovesPerPlayerReturningZero() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics((-1734), (-1734));
        CombatantSide arg0 = CombatantSide.DEFENDER;
        double numberOfMovesPerPlayer = battleStatistics.numberOfMovesPerPlayer(arg0);
        assertEquals(-0.0, numberOfMovesPerPlayer, 0.01);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testNumberOfMovesPerPlayerWithNonNull() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(40, 40);
        CombatantSide arg0 = CombatantSide.ATTACKER;
        double numberOfMovesPerPlayer = battleStatistics.numberOfMovesPerPlayer(arg0);
        assertEquals(0.0, numberOfMovesPerPlayer, 0.01);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testCombatantLifetime() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(40, 40);
        int combatantLifetime = battleStatistics.combatantLifetime((Combatant) null);
        assertEquals(0, combatantLifetime);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testSetRoundWithNegative() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(890, 890);
        battleStatistics.setRound((-1));
        battleStatistics.setRound(890);
        battleStatistics.setRound(2);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetShotsPerRound() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(0, 0);
        Map<CombatantSide, ? extends LabeledData> shotsPerRound = battleStatistics.getShotsPerRound();
        assertFalse(shotsPerRound.isEmpty());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAmountOfDefenseBonus() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(131, 131);
        CombatantSide arg0 = CombatantSide.DEFENDER;
        int amountOfDefenseBonus = battleStatistics.amountOfDefenseBonus(arg0);
        assertEquals(0, amountOfDefenseBonus);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testRoundReturningZero() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(0, 3292);
        int round = battleStatistics.round(0);
        assertEquals(0, round);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testCriticalHits() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(4, (-2575));
        CombatantSide arg0 = CombatantSide.DEFENDER;
        int criticalHits = battleStatistics.criticalHits(arg0);
        assertEquals(0, criticalHits);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetHitsPerRound() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(4, (-2575));
        Map<CombatantSide, ? extends LabeledData> hitsPerRound = battleStatistics.getHitsPerRound();
        assertFalse(hitsPerRound.isEmpty());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testHasMovedThrowsNullPointerException() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(1, 1);
        // Undeclared exception!
        try { 
          battleStatistics.hasMoved((Combatant) null, (Area) null);
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("de.outstare.fortbattleplayer.statistics.AllCombatantSidesCounter", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testIsAlive() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(0, 0);
        battleStatistics.isAlive((Combatant) null);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testNumberOfHipFlasks() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics((-1705), (-1705));
        CombatantSide arg0 = CombatantSide.DEFENDER;
        int numberOfHipFlasks = battleStatistics.numberOfHipFlasks(arg0);
        assertEquals(0, numberOfHipFlasks);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testNumberOfSchmierOil() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics((-905), (-905));
        CombatantSide arg0 = CombatantSide.DEFENDER;
        int numberOfSchmierOil = battleStatistics.numberOfSchmierOil(arg0);
        assertEquals(0, numberOfSchmierOil);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testNumberOfFettesOil() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(0, 0);
        CombatantSide arg0 = CombatantSide.DEFENDER;
        int numberOfFettesOil = battleStatistics.numberOfFettesOil(arg0);
        assertEquals(0, numberOfFettesOil);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetFieldStatistics() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics((-1311), (-119));
        Map<Area, AreaStatistic> fieldStatistics = battleStatistics.getFieldStatistics();
        assertEquals(0, fieldStatistics.size());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testTotalSwaps() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics((-1705), (-1705));
        CombatantSide arg0 = CombatantSide.ATTACKER;
        int totalSwaps = battleStatistics.totalSwaps(arg0);
        assertEquals(0, totalSwaps);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testNumberOfGraphitLubricants() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics((-190), 124);
        CombatantSide arg0 = CombatantSide.DEFENDER;
        int numberOfGraphitLubricants = battleStatistics.numberOfGraphitLubricants(arg0);
        assertEquals(0, numberOfGraphitLubricants);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAmountOfAttackBonus() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(5, 5);
        CombatantSide arg0 = CombatantSide.ATTACKER;
        int amountOfAttackBonus = battleStatistics.amountOfAttackBonus(arg0);
        assertEquals(0, amountOfAttackBonus);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testIsDead() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(4, (-2575));
        battleStatistics.isDead((Combatant) null);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testNumberOfShinyOil() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics((-1311), (-119));
        CombatantSide arg0 = CombatantSide.ATTACKER;
        int numberOfShinyOil = battleStatistics.numberOfShinyOil(arg0);
        assertEquals(0, numberOfShinyOil);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testNumberOfBayonets() throws Throwable  {
        BattleStatistics battleStatistics = new BattleStatistics(131, 131);
        CombatantSide arg0 = CombatantSide.DEFENDER;
        int numberOfBayonets = battleStatistics.numberOfBayonets(arg0);
        assertEquals(0, numberOfBayonets);
    }
  }
  