public void Can_enumerate_all_journal_events() { var source = new EventJournalSource(); var journal = new EventJournal(source); source.Publish(new CommandRequestedEvent(",somesyntax")); source.Publish(new QuestArrowEvent(true, new Location2D(123, 321))); journal.Count().Should().Be(2); journal.First().Should().BeOfType <CommandRequestedEvent>() .Which.InvocationSyntax.Should().Be(",somesyntax"); journal.Last().Should().BeOfType <QuestArrowEvent>() .Which.Location.Should().Be(new Location2D(123, 321)); }