Ejemplo n.º 1
0
        public async Task JoiningNonExistentGame()
        {
            var store     = new InMemoryEventStore();
            var collected = new List <IEvent>();
            var app       = new App(store, events => {
                collected.AddRange(events);
                return(Task.CompletedTask);
            });

            //When
            await app.Dispatch(
                new JoinGame { GameId = Guid.NewGuid(), PlayerId = "*****@*****.**" });

            //Then
            Assert.False(collected.Any());
        }
Ejemplo n.º 2
0
        public async Task CreateGame()
        {
            var store     = new InMemoryEventStore();
            var collected = new List <IEvent>();
            var app       = new App(store, events => {
                collected.AddRange(events);
                return(Task.CompletedTask);
            });

            //When
            await app.Dispatch(
                new CreateGame { GameId = Guid.NewGuid(), PlayerId = "*****@*****.**", Rounds = 1, Title = "test" });

            //Then
            Assert.True(collected.OfType <GameCreated>().Count() == 1);
        }
Ejemplo n.º 3
0
 private static Task Execute(
     InMemoryEventStore store,
     string streamName,
     Func <IEvent[], IEvent[]> f,
     Func <IEvent[], Task> pub)
 => Execute(store, streamName, data => f(data.Select(e => e.Event).ToArray()), pub);
Ejemplo n.º 4
0
 public App(InMemoryEventStore store, Func <IEvent[], Task> pub)
 {
     this.store = store;
     this.pub   = pub;
 }