public void SetUp(bool useCampaignGameType) { _mockTournamentBuilder = MockRepository.Create <TournamentBuilder>(); _mockTournamentBuilder.Setup(tournamentBuilder => tournamentBuilder.CreateInitialTournaments()); _mockModState = MockRepository.Create <ModState>(); _mockModState.Setup(modState => modState.Reset()); _object = MockRepository.Create <object>().Object; GameType gameType; if (useCampaignGameType) { var mockCampaignGameType = MockRepository.Create <Campaign>(CampaignGameMode.Campaign); gameType = mockCampaignGameType.Object; } else { var mockNonCampaignGameType = MockRepository.Create <GameType>(); gameType = mockNonCampaignGameType.Object; } _game = (Game)System.Runtime.Serialization.FormatterServices.GetUninitializedObject(typeof(Game)); _game.GetType().GetProperty("GameType").SetValue(_game, gameType); _sut = new SubModuleImpl(); _sut.ModState = _mockModState.Object; _sut.TournamentBuilder = _mockTournamentBuilder.Object; }