示例#1
0
 private void OnTriggerEnter(Collider other)
 {
     if ((1 << other.gameObject.layer & 레이어.value) != 0)
     {
         target.Handle(EventMethod.TriggerEnter);
     }
 }
        public async void AGameEventHandlerShouldHandleTheGameCreatedEvent()
        {
            var mockReadFac = new Mock <IReadModelFacade>();
            var mockReadPer = new Mock <IReadModelPersistence>();
            var newGuid     = Guid.NewGuid();
            var fakeEvent   = new GameCreated(newGuid);

            var sut = new GameEventHandler(mockReadFac.Object, mockReadPer.Object);

            await sut.Handle(fakeEvent);

            mockReadPer.Verify(m => m.Put(It.IsAny <GameDetails>()), Times.Once);
        }
        public async void AGameEventHandlerShouldHandleThePlayerNameUpdatedEvent()
        {
            var mockReadFac = new Mock <IReadModelFacade>();
            var mockReadPer = new Mock <IReadModelPersistence>();
            var fakeEvent   = new PlayerNameUpdated(Guid.Empty, "Dave", 1)
            {
                Version = 1
            };
            var gameDetails = new GameDetails();

            mockReadFac.Setup(m => m.Get <GameDetails>(Guid.Empty)).Returns(Task.FromResult(gameDetails));
            var sut = new GameEventHandler(mockReadFac.Object, mockReadPer.Object);
            await sut.Handle(fakeEvent);

            Assert.Equal("Dave", gameDetails.Players[1].Name);
            Assert.Equal(1, gameDetails.Version);

            mockReadPer.Verify(m => m.Put(It.IsAny <GameDetails>()), Times.Once);
        }