public void Constructor_ModuleResourceWithNull_Logs() { var logger = new LoggerMockup(); var moduleResources = new[] { new SingularityModules(), }; using (var scope = new GameScope(logger, new SceneScopeFactoryMockup(), new SceneEventsProviderMockup(), moduleResources)) { Assert.Single(logger.Warnings); } }
protected override void Execute(List <InputEntityG> entities) { var inputEntity = entities.SingleEntity(); var input = inputEntity.Get <InputG>(); var e = GameScope.GetPieceWithPosition(input.value); if (e != null && e.Is <InteractiveG>()) { e.Flag <DestroyedG>(true); } }
public void Disposed_ContainerIsDisposed() { var logger = new LoggerMockup(); var moduleResources = new SingularityModules[0]; using (var scope = new GameScope(logger, new SceneScopeFactoryMockup(), new SceneEventsProviderMockup(), moduleResources)) { Assert.False(scope.Container.IsDisposed); scope.Dispose(); Assert.True(scope.Container.IsDisposed); } }
public void Constructor_ModuleResourceHasInvalidConstructor_Logs() { var logger = new LoggerMockup(); var moduleResource = new SingularityModules(); Type type = typeof(TestModuleWithConstructor); moduleResource.Modules[0] = new ModuleRef(type); SingularityModules[] moduleResources = { moduleResource }; using (var scope = new GameScope(logger, new SceneScopeFactoryMockup(), new SceneEventsProviderMockup(), moduleResources)) { Assert.Single(logger.Warnings); } }
public void Constructor_ValidModuleResource_ReturnsDependency() { var logger = new LoggerMockup(); var moduleResource = new SingularityModules(); Type type = typeof(TestModule); moduleResource.Modules[0] = new ModuleRef(type); SingularityModules[] moduleResources = { moduleResource }; using (var scope = new GameScope(logger, new SceneScopeFactoryMockup(), new SceneEventsProviderMockup(), moduleResources)) { Assert.Empty(logger.Warnings); var instance = scope.Container.GetInstance <IModule>(); Assert.IsType <TestModule>(instance); } }
public void SwitchScene_SceneScopeIsCreated() { var logger = new LoggerMockup(); var sceneScopeFactory = new SceneScopeFactoryMockup(); var moduleResources = new SingularityModules[0]; var sceneEventsProvider = new SceneEventsProviderMockup(); using (var scope = new GameScope(logger, sceneScopeFactory, sceneEventsProvider, moduleResources)) { sceneEventsProvider.TriggerEntered(); Assert.Single(sceneScopeFactory.CreateCalls); } }
public void Constructor_ModuleResourceInvalidType_Logs() { var logger = new LoggerMockup(); var moduleResource = new SingularityModules { Modules = { [0] = new ModuleRef() } }; SingularityModules[] moduleResources = { moduleResource }; using (var scope = new GameScope(logger, new SceneScopeFactoryMockup(), new SceneEventsProviderMockup(), moduleResources)) { Assert.Single(logger.Warnings); } }
public void SceneIsDisposed_SceneScopeIsDiposed() { var logger = new LoggerMockup(); var sceneScopeFactory = new SceneScopeFactoryMockup(); var moduleResources = new SingularityModules[0]; var sceneEventsProvider = new SceneEventsProviderMockup(); using (var scope = new GameScope(logger, sceneScopeFactory, sceneEventsProvider, moduleResources)) { sceneEventsProvider.TriggerEntered(); SceneScope createdSceneScope = sceneScopeFactory.CreatedSceneScopes[0]; Assert.False(createdSceneScope.IsDisposed); sceneEventsProvider.TriggerLeaving(); Assert.True(createdSceneScope.IsDisposed); } }
public void NewGame(int players, int victoryCards, int curseCards) { IEventAggregator eventAggregator = new MockEventAggregator(); var deckBuilder = new DeckBuilder(); var supplyBuilder = new SupplyBuilder(eventAggregator); var playerBuilder = new PlayerBuilder(eventAggregator, deckBuilder); var scope = new GameScope(eventAggregator, supplyBuilder, playerBuilder, new List <EndGameCondition>(), new MockBus(), new Container()); GameSpec gameSpec = new GameSpec() .BasicGame() .WithSet <FirstGame>() .WithPlayer(players.Times(() => new PlayerSpec())); Game game = new GameBuilder().Initialize(gameSpec, scope); game.Supply[Victory.Estate].Count.ShouldEqual(victoryCards, "Wrong number of estates"); game.Supply[Victory.Duchy].Count.ShouldEqual(victoryCards, "Wrong number of duchies"); game.Supply[Victory.Province].Count.ShouldEqual(victoryCards, "Wrong number of provinces"); game.Supply[BasicCards.Curse].Count.ShouldEqual(curseCards, "Wrong number of curse cards"); game.Players.Count().ShouldEqual(players, "Wrong number of players"); }