package com.heavylead.injection;
import org.jmock.Mockery;
import org.jmock.integration.junit4.JUnit4Mockery;
import com.google.inject.AbstractModule;
import com.google.inject.name.Names;
import com.heavylead.IHeavyLeadGame;
import com.heavylead.models.interfaces.IGameSettingsModel;
import com.heavylead.models.interfaces.ISelectCampaignModel;
import com.heavylead.models.interfaces.ITranslator;
import com.heavylead.views.interfaces.IEditSettingsView;
import com.heavylead.views.interfaces.IMainMenuView;
import com.heavylead.views.interfaces.INavigator;
import com.heavylead.views.interfaces.ISelectCampaignView;
import com.heavylead.wrappers.interfaces.IGameStateManager;
import com.heavylead.wrappers.interfaces.IKeyBindingManager;
import com.jme.system.GameSettings;
/**
* The Class HeavyLeadTestModule.
*/
public class HeavyLeadTestModule extends AbstractModule {
private final Mockery _mockery = new JUnit4Mockery();
private GameSettings _gameSettings;
private IHeavyLeadGame _heavyLeadGame;
private IGameStateManager _gameStateManager;
private IKeyBindingManager _keyBindingManager;
private ITranslator _translator;
private INavigator _navigator;
private IMainMenuView _mainMenuView;
private ISelectCampaignModel _selectCampaignModel;
private ISelectCampaignView _selectCampaignView;
private IGameSettingsModel _gameSettingsModel;
private IEditSettingsView _editSettingsView;
/**
* Instantiates a new heavy lead test module.
*/
public HeavyLeadTestModule() {
_gameSettings = _mockery.mock(GameSettings.class);
_heavyLeadGame = _mockery.mock(IHeavyLeadGame.class);
_gameStateManager = _mockery.mock(IGameStateManager.class);
_keyBindingManager = _mockery.mock(IKeyBindingManager.class);
_translator = _mockery.mock(ITranslator.class);
_navigator = _mockery.mock(INavigator.class);
_mainMenuView = _mockery.mock(IMainMenuView.class);
_selectCampaignModel = _mockery.mock(ISelectCampaignModel.class);
_selectCampaignView = _mockery.mock(ISelectCampaignView.class);
_gameSettingsModel = _mockery.mock(IGameSettingsModel.class);
_editSettingsView = _mockery.mock(IEditSettingsView.class);
}
/**
* @see com.google.inject.AbstractModule#configure()
*/
@Override
protected final void configure() {
bind(IHeavyLeadGame.class).toInstance(_heavyLeadGame);
bind(IGameStateManager.class).toInstance(_gameStateManager);
bind(IKeyBindingManager.class).toInstance(_keyBindingManager);
bind(GameSettings.class).toInstance(_gameSettings);
bind(String.class).annotatedWith(Names.named("Selected Language"))
.toInstance("en");
bind(ITranslator.class).toInstance(_translator);
bind(INavigator.class).toInstance(_navigator);
bind(IMainMenuView.class).toInstance(_mainMenuView);
bind(ISelectCampaignModel.class).toInstance(_selectCampaignModel);
bind(ISelectCampaignView.class).toInstance(_selectCampaignView);
bind(IGameSettingsModel.class).toInstance(_gameSettingsModel);
bind(IEditSettingsView.class).toInstance(_editSettingsView);
bind(Mockery.class).toInstance(_mockery);
}
}
|