public void NextGen_EmitsEventWithNewState() { // Arrange var rows = Faker.RandomNumber.Next(2, 10); var cols = Faker.RandomNumber.Next(2, 10); // Create a dummy grid to be returned by the Generation service var newGameState = new GridBuilder() .WithCols(cols) .WithRows(rows) .Build(); // Creat a stub gen service, give it the grid to return var genService = new GenerationServiceBuilder() .NextGeneration_Returns(newGameState) .Build(); // Create Event Emitter var eventEmitter = new GameEventEmitterBuilder().Build(); // Act var sut = _createSubjectUnderTest(rows, cols, genService: genService, eventEmitter: eventEmitter); sut.StartGame(); sut.NextGen(); // Assert eventEmitter .Received(1) .NewGameStateEvent(newGameState); }
public void StartGame_EmitsInitialState() { // Arrange var rows = Faker.RandomNumber.Next(2, 10); var cols = Faker.RandomNumber.Next(2, 10); var eventEmitter = new GameEventEmitterBuilder().Build(); // Act var sut = _createSubjectUnderTest(rows, cols, eventEmitter); sut.StartGame(); // Assert eventEmitter .Received(1) .InitGameStateEvent(Arg.Any <IList <IList <ICell> > >()); }