public void InitHandler() //初试化Handler { CreateGameHandler createGameHandler = new CreateGameHandler(); handlerDictionary.Add(createGameHandler.opCode, createGameHandler); JoinGameHandler joinGameHandler = new JoinGameHandler(); handlerDictionary.Add(joinGameHandler.opCode, joinGameHandler); TeamChooseHandler teamChooseHandler = new TeamChooseHandler(); handlerDictionary.Add(teamChooseHandler.opCode, teamChooseHandler); SyncTransformHandler syncTransformHandler = new SyncTransformHandler(); handlerDictionary.Add(syncTransformHandler.opCode, syncTransformHandler); DamageHandler damageHandler = new DamageHandler(); handlerDictionary.Add(damageHandler.opCode, damageHandler); SyncDropWeaponHandler syncDropWeaponHandler = new SyncDropWeaponHandler(); handlerDictionary.Add(syncDropWeaponHandler.opCode, syncDropWeaponHandler); DeleteDropWeaponHandler deleteDropWeaponHandler = new DeleteDropWeaponHandler(); handlerDictionary.Add(deleteDropWeaponHandler.opCode, deleteDropWeaponHandler); RestartHandler restartHandler = new RestartHandler(); handlerDictionary.Add(restartHandler.opCode, restartHandler); }
public async Task When_creating_a_new_game_with_a_name_valid_then_a_new_game_should_be_created() { var gamesRepository = Substitute.For <IGamesRepository>(); var createGameHandler = new CreateGameHandler(gamesRepository, Substitute.For <IUnitOfWork>()); var result = await createGameHandler.Handle(new CreateGame("Name"), default); await gamesRepository.ReceivedWithAnyArgs(1).AnyAsync(default, default);
public void When_creating_a_game_with_existing_name_then_an_application_exception_should_be_thrown() { var gamesRepository = Substitute.For <IGamesRepository>(); gamesRepository.AnyAsync(Arg.Any <Expression <Func <Game, bool> > >(), default).Returns(Task.FromResult(true)); var createGameHandler = new CreateGameHandler(gamesRepository, Substitute.For <IUnitOfWork>()); Func <Task <Unit> > action = async() => await createGameHandler.Handle(new CreateGame("Name"), default); action.Should().Throw <ApplicationException>().WithMessage(Messages.NameMustUnique); }
public void CannotExecute_AlreadyExists() { //arrange var gameRecord = new GameRecord { Id = Guid.NewGuid(), }; var repoMock = new Mock<IRepository>(); repoMock.Setup(x => x.Query<GameRecord>()).Returns(new[] { gameRecord }.AsQueryable()); var command = new CreateGame(gameRecord.Id); var handler = new CreateGameHandler(repoMock.Object); //act handler.Execute(command); //assert Assert.Fail(); }
public void CanExecute() { //arrange var repoMock = new Mock<IRepository>(); repoMock.Setup(x => x.Query<GameRecord>()).Returns(new GameRecord[0].AsQueryable()); repoMock.Setup(x => x.Add(It.IsAny<GameRecord>())).Callback((object x) => { var addItem = x as GameRecord; Assert.IsNotNull(addItem); Assert.AreEqual(9 * 9, addItem.Moves.Count()); }); var command = new CreateGame(Guid.NewGuid()); var handler = new CreateGameHandler(repoMock.Object); //act handler.Execute(command); //assert repoMock.VerifyAll(); }