@@ -0,0 +1,2908 @@
+package com.google.research.bleth.simulator;%0A%0Aimport static com.google.common.truth.Truth.assertThat;%0A%0Aimport org.junit.Test;%0A%0Aimport java.lang.reflect.InvocationTargetException;%0A%0Apublic final class StrategiesMapperTest %7B%0A%0A    @Test%0A    public void getMovementStrategyByStationaryMovementStrategyAsString_shouldGetStationaryMovementStrategyObject()%0A            throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException %7B%0A        StrategiesMapper mapper = StrategiesMapper.getInstance();%0A        String strategyAsString = StationaryMovementStrategy.class.toString();%0A%0A        IMovementStrategy retrievedStrategy = mapper.getMovementStrategy(strategyAsString);%0A%0A        assertThat(retrievedStrategy instanceof StationaryMovementStrategy).isTrue();%0A    %7D%0A%0A    @Test%0A    public void getMovementStrategyByRandomMovementStrategyAsString_shouldGetRandomMovementStrategyObject()%0A            throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException %7B%0A        StrategiesMapper mapper = StrategiesMapper.getInstance();%0A        String strategyAsString = RandomMovementStrategy.class.toString();%0A%0A        IMovementStrategy retrievedStrategy = mapper.getMovementStrategy(strategyAsString);%0A%0A        assertThat(retrievedStrategy instanceof RandomMovementStrategy).isTrue();%0A    %7D%0A%0A    @Test%0A    public void generateTwoRandomMovementStrategies_shouldNotGenerateTheSameObject()%0A            throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException %7B%0A        StrategiesMapper mapper = StrategiesMapper.getInstance();%0A        String strategyAsString = RandomMovementStrategy.class.toString();%0A%0A        IMovementStrategy firstRetrievedStrategy = mapper.getMovementStrategy(strategyAsString);%0A        IMovementStrategy secondRetrievedStrategy = mapper.getMovementStrategy(strategyAsString);%0A%0A        assertThat(firstRetrievedStrategy).isNotEqualTo(secondRetrievedStrategy);%0A    %7D%0A%0A    @Test%0A    public void getAwakenessStrategyByFixedAwakenessStrategyTypeAsString_shouldGetFixedAwakenessStrategyType() %7B%0A        StrategiesMapper mapper = StrategiesMapper.getInstance();%0A        AwakenessStrategyFactory.Type strategy = AwakenessStrategyFactory.Type.FIXED;%0A        String strategyAsString = strategy.toString();%0A%0A        assertThat(mapper.getAwakenessStrategy(strategyAsString)).isEqualTo(AwakenessStrategyFactory.Type.FIXED);%0A    %7D%0A%0A    @Test%0A    public void getAwakenessStrategyByRandomAwakenessStrategyTypeAsString_shouldGetRandomAwakenessStrategyType() %7B%0A        StrategiesMapper mapper = StrategiesMapper.getInstance();%0A        AwakenessStrategyFactory.Type strategy = AwakenessStrategyFactory.Type.RANDOM;%0A        String strategyAsString = strategy.toString();%0A%0A        assertThat(mapper.getAwakenessStrategy(strategyAsString)).isEqualTo(AwakenessStrategyFactory.Type.RANDOM);%0A    %7D%0A%7D%0A

implement strategies mapper test class.